当前位置: 首页 > 知识库问答 >
问题:

异常处理程序应保留原始异常:记录或重新显示此异常

厉令
2023-03-14

这是我的方法,当我试图通过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());
                }
            }
        }

共有1个答案

金瑞
2023-03-14

我相信它试图告诉你的是记录异常,而不是像这里一样的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