作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Sonar给出以下代码的严重违规错误(“保留堆栈跟踪”)。下面的方法用于抛出异常。我应该采取哪些措施来克服这种违规行为?
public void exceptionHandler(String exception) throws PhDashException {
String exceptionMsg = exception.replaceAll("-", "_");
ExceptionPhDash pHDashExceptionMapper = new ExceptionPhDash();
try {
pHDashExceptionMapper = new ObjectMapper().readValue(exceptionMsg, ExceptionPhDash.class);
} catch (JsonParseException e) {
LOGGER.info(e.getMessage());
} catch (JsonMappingException e) {
LOGGER.info(e.getMessage());
} catch (IOException e) {
LOGGER.info(e.getMessage());
}
throw new PhDashException(pHDashExceptionMapper.getMessage());
}
最佳答案
您已记录每个异常;就保存信息而言,这应该足够了,如下所示,
LOGGER.info("Unexpected Exception has occurred", e);
或者,如果可以的话,您应该重新抛出PhDashException
,因为就保留信息而言,您应该足够了
throw new PhDashException(pHDashExceptionMapper);
关于java - 如何避免 Sonar 的 "preserve stack trace"违规?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21719427/
我是一名优秀的程序员,十分优秀!