【发布时间】:2022-01-12 13:00:58
【问题描述】:
当我在与 Maven 集成后运行 SonarQube 进行代码质量检查时,我有以下代码。
但是,Sonar 抱怨我应该记录或重新抛出此异常。
我在这里缺少什么?谁能帮帮我。
代码
public ShippingResponse processShipping(ShippingRequest request) {
log.debug("Processing Reservation Request ....");
try{
return helper.processShippingMethod(request);
} catch (ServiceException serviceException) {
log.error(RESERVATION_EXCE, ExceptionUtils.getStackTrace(serviceException));
throw serviceException;
} catch (Exception e) {
throw new ServiceException(ErrorMessages.EPO_SM_ERR_03, e.getMessage());
}
}
【问题讨论】:
-
与上述解决方案相比,没有我的 catch 块差异
-
如果您阅读答案,您会发现这是完全相同的问题,因为您没有使用异常对象。您只是传递异常消息,导致您丢失所有堆栈跟踪信息
-
LOG.error("Exception", e);
-
这条线是不是必须要添加到我的catch块中?
标签: spring-boot maven sonarqube