JsonProcessingException 中的 catch 块中的 SonarQube 错误
SonarQube error in catch block in JsonProcessingException
我有以下代码。我们使用的是 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());
}
我试图从以下位置替换捕获“RuntimeException”:
throw new RuntimeException(e.getMessage());
抛出新的
RuntimeException(String.format("RuntimeException during processing JSON %s", e.getMessage()),e);
但得到同样的错误。
你能请谁帮帮我吗。
RuntimeExteption的定义:
RuntimeException and its subclasses are unchecked exceptions. Unchecked exceptions do not need to be declared in a method or constructor's throws
clause if they can be thrown by the execution of the method or constructor and propagate outside the method or constructor boundary.
你有两个选择:
- 创建自定义异常 class
- 投掷已被抓到
JsonProcessingException
第一个选项的代码为:
} catch (JsonProcessingException e) {
//log message somewhere
throw new MyCustomException(e.getMessage());
}
第二个选项的代码为:
} catch (JsonProcessingException e) {
//log message somewhere
throw;
}
我有以下代码。我们使用的是 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());
}
我试图从以下位置替换捕获“RuntimeException”:
throw new RuntimeException(e.getMessage());
抛出新的
RuntimeException(String.format("RuntimeException during processing JSON %s", e.getMessage()),e);
但得到同样的错误。 你能请谁帮帮我吗。
RuntimeExteption的定义:
RuntimeException and its subclasses are unchecked exceptions. Unchecked exceptions do not need to be declared in a method or constructor's
throws
clause if they can be thrown by the execution of the method or constructor and propagate outside the method or constructor boundary.
你有两个选择:
- 创建自定义异常 class
- 投掷已被抓到
JsonProcessingException
第一个选项的代码为:
} catch (JsonProcessingException e) {
//log message somewhere
throw new MyCustomException(e.getMessage());
}
第二个选项的代码为:
} catch (JsonProcessingException e) {
//log message somewhere
throw;
}