在JsonProcessingException的catch块中SonarQube错误



我有下面的代码。我们使用的是sonar 8.9版本和JDK 11。SonarQube总是抛出一个关键问题定义并抛出专用异常,而不是使用泛型异常

try {
String stringPayload = jsonMapper.writeValueAsString(payload);
log.info("Feedzai request: {}"<some object>);
input.setPayload(new StringEntity(stringPayload, APPLICATION_JSON));
} catch (JsonProcessingException e) {
throw new RuntimeException(e.getMessage());
}

我试图替换catch "RuntimeException"来自:

throw new RuntimeException(e.getMessage()); 

抛出新的

RuntimeException(String.format("RuntimeException during processing JSON %s", e.getMessage()),e);

但是得到相同的错误。你能请人帮我一下吗?

runtimeexception:

RuntimeException及其子类是未检查的异常。未检查的异常不需要在方法或构造函数的throws子句中声明如果它们可以在执行方法或构造函数时抛出,并传播到方法或构造函数边界之外。

你有两个选择:

  1. 创建自定义异常类
  2. Throw已捕获JsonProcessingException

第一个选项的代码为:

} catch (JsonProcessingException e) {
//log message somewhere
throw new MyCustomException(e.getMessage());
}
第二个选项的代码将是:
} catch (JsonProcessingException e) {
//log message somewhere
throw;
}

相关内容

  • 没有找到相关文章

最新更新