Java 处理所有未处理的异常

Java 处理所有未处理的异常,java,exception,exception-handling,Java,Exception,Exception Handling,是否可以处理(简单的日志写入)所有未处理的异常 更详细地说,我需要记录代码中任何地方发生的任何异常,记录该异常,然后继续(这显然可能会导致更多异常!)。您可以使用来捕获任何未处理的异常 还可以为每个线程或线程组设置特定的处理程序。您可以使用AOP(面向方面编程)来实现这一点。具体来说,您可以创建一个记录所有异常的方面 如果您使用的是spring,则可以使用进行此操作。以下是一段代码,可以帮助您: public class MyDefaultExceptionHandler extends Def

是否可以处理(简单的日志写入)所有未处理的异常

更详细地说,我需要记录代码中任何地方发生的任何异常,记录该异常,然后继续(这显然可能会导致更多异常!)。

您可以使用来捕获任何未处理的异常

还可以为每个线程或线程组设置特定的处理程序。

您可以使用AOP(面向方面编程)来实现这一点。具体来说,您可以创建一个记录所有异常的方面


如果您使用的是spring,则可以使用进行此操作。

以下是一段代码,可以帮助您:

public class MyDefaultExceptionHandler extends DefaultExceptionHandler
  {

  private UncaughtExceptionHandler defaultUEH;

  public MyDefaultExceptionHandler() 
    {
    this.defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
    }

  @Override
  public void uncaughtException(Thread t, Throwable e) 
    {
    //print anything you wish about the Throwable e :getStackTrace(), getCause(), getClass()...
    defaultUEH.uncaughtException(t, e); //this will call the default handling of the exception (crash...)
    }
  }
… 
//in the main app:
Thread.setDefaultUncaughtExceptionHandler(new MyDefaultExceptionHandler());
你说的“继续”到底是什么意思?好的,一旦异常被传播到调用堆栈中,就无法“继续”代码所做的任何事情。