在将SonarQube与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());
}
}
Sonar试图指出的一点是,理想情况下,打印或保留异常的根本原因,因此基本上是堆栈。通过传递exception对象来保留它,因为如果只保留消息,则会丢失所有信息。为了让sonar满意,您可以打印堆栈跟踪(log.error(ErrorMessages.EPO\u SM\u ERR\u 03,e)
),或者重新抛出一个新的异常,将Throwable对象传递给构造函数。
因此,理想的解决方案是像这样使用服务异常;
public class ServiceException extends Exception {
public ServiceException(String message, Throwable cause) {
super(message, cause);
}
}
throw new ServiceException(ErrorMessages.EPO_SM_ERR_03, e);
问题内容: 我的程序中包含以下代码,并将其与Maven集成后,我正在运行SonarQube 5以对其进行代码质量检查。 但是,Sonar抱怨我应该 记录或重新抛出此异常 。 我在这里想念什么?我还没有记录异常吗? 问题答案: 您应该这样做: 声纳不应该再打扰您了
我的程序中有下面的代码,在与Maven集成后,我正在运行SonarQube 5进行代码质量检查。 然而,Sonar抱怨说,我应该记录或者重播这个异常。 我错过了什么?我还没有记录异常吗?
我的程序中有下面的代码,在与Maven集成后,我正在运行SonarQube 5进行代码质量检查。 然而,Sonar抱怨说,我应该记录或者重播这个异常。 我错过了什么?
我有以下一段代码在我的程序,我正在运行SonarQube 5的代码质量检查后,它与Maven集成。 然而,Sonar要求删除这个对局部变量“session”的无用赋值。
声纳可能重复,抱怨记录和重新触发异常。 这是我在类中的代码: 和我的日志类: 声纳指向捕获(最终异常e)并表示记录或重新抛出此异常。你觉得怎么样?
从LoginPage重定向到登入。在登机时,点击一个按钮,需要显示底部的工作表。使用命名路线进行导航。 稍后在Loginpage中将使用navigator.pushnamed(上下文,'/onboarding')导航到onboarding;重定向。 这是主飞镖