这是我的方法,当我试图通过sonarQube分析我的代码时,我得到了这个错误:
异常处理程序应保留原始异常:记录或重新显示此异常。
为什么我会得到这个错误,我不应该像我的方法一样捕获异常吗?
我的方法:
for (String QT : Q_T) {
try {
// some logic
}
} catch (JsonParseException e) {
LOG.log(Level.SEVERE, e.toString());
} catch (JsonMappingException e) {
LOG.log(Level.SEVERE, e.toString());
} catch (IOException e) {
LOG.log(Level.SEVERE, e.toString());
}
catch (Exception e) {
LOG.log(Level.SEVERE, e.toString());
}
}
}
我相信它试图告诉你的是记录异常
,而不是像这里一样的toString()
版本,也向log
添加一些'上下文'或信息>
for (String QT : Q_T) {
try {
// some logic
} catch (JsonParseException e) {
LOG.log(Level.SEVERE, "context", e);
} catch (JsonMappingException e) {
LOG.log(Level.SEVERE, "context", e);
} catch (IOException e) {
LOG.log(Level.SEVERE, "context", e);
} catch (Exception e) {
LOG.log(Level.SEVERE, "context", e);
}
}
声纳可能重复,抱怨记录和重新触发异常。 这是我在类中的代码: 和我的日志类: 声纳指向捕获(最终异常e)并表示记录或重新抛出此异常。你觉得怎么样?
在将代码与Maven集成之后,我正在运行Sonarqube5进行代码质量检查。 Sonar抱怨我应该: 记录或重新显示此异常。 在下面这段代码中: 我错过了什么?
因此,我试图以通用的方式记录spring项目的控制器返回的所有未捕获的异常。我可以使用以下异常处理程序来完成此操作: 但是,对于方法的每次调用,由于方法中抛出的异常,会创建第二个错误日志:代码来自org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolveHandlerMethodExc
问题内容: 我在有两个INSERT指令的存储过程中使用TRY CATCH块。 如果出现问题,则CATCH块负责回滚所做的所有更改,并且除一件事外,它都可以正常工作! 我的ASP.NET应用程序捕获的异常是一个SqlException,其编号为50000。这不是原始编号!(我期望的数字是2627) 在异常的Message属性中,我可以看到原始的异常编号和格式化的消息。 我如何获得原始的异常编号? 现
1.1 异常处理的基本使用 try: <语句块1> except: <语句块2> try 捕获异常 except 发生异常时执行 try: <语句块1> except <异常类型名字>: <语句块2> except <异常类型名字> 发生对应异常时才会执行 1.2 异常处理的高级使用 try: <语句块1> except
问题很简单:我正在寻找一种优雅的方式,将<code>CompletableFuture#与<code>CompletableFuture#supplySync</code>一起使用。这是不起作用的: 我认为背后的想法正是为了处理抛出的情况。然而,如果我这样做,它会起作用: 我可以这样做,但是这看起来很可怕,而且让事情更难维护。有没有一种不需要将所有< code>Exception转换为< code