java - 向 logger.error 抛出新的异常

标签 java exception logging

我想将这个异常添加到记录器中:

throw new IllegalArgumentException("ex msg");

但是当我这样尝试时,我在“throw ex;”时遇到错误

Exception ex= new IllegalArgumentException("ex msg");
log.error("msg",ex);
throw ex;

知道如何解决这个问题吗? 谢谢

最佳答案

尝试为 ex 使用特定类型,即 IllegalArgumentException ex 或至少 RuntimeException ex 因为 Exception 是一个已检查的异常,如果方法签名中没有throws Exception,编译器会报错。

差:

public void myMethod() {
  throw new Exception(); //this needs to be declared
}

好:

public void myMethod() throws Exception {
  throw new Exception(); 
}

public void myMethod() {
  throw new RuntimeException(); //those don't have to be declared
}

您的代码类似于错误示例,因为编译器 thow ex 看起来像 throw new Exception()(不完全正确,但您应该明白这一点)。

关于java - 向 logger.error 抛出新的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30372673/

相关文章:

java - 我的 ListView 不断使用 LogoLoader Asynctask 刷新图像

ruby-on-rails - 现有应用程序中大量模型的 IP 地址记录

exception - Hadoop作业未被杀死

java - java中数组的反射

c++ - std::vector<>::emplace_back() 中的异常安全吗?

ruby-on-rails - Sidekiq 在 docker 中每隔几个小时就会崩溃一次

c++ - 有没有比 #if DebugMode 更好的日志记录方法

java - GAE 必须先调用 set*BlobStorage() 之一

java - 在 BoxLayout 中对齐 JButton

java - 使用java数组反转数字