默认情况下,JVM通过将堆栈跟踪打印到System.err流中来处理未捕获的异常。Java允许我们通过提供自己的实现
Thread.UncaughtExceptionHandler接口的例程来自定义此行为。
请看一下我有时写的这篇博客文章,其中详细解释了该文章(http://blog.yohanliyanage.com/2010/09/know-the-
jvm-1-uncaught-exception-handler/)。
总之,您要做的就是编写您的自定义逻辑,如下所示:
public class MyUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler { public void uncaughtException(Thread t, Throwable e) { // Write the custom logic here }}并使用我在上面链接中描述的三个选项中的任何一个进行设置。例如,您可以执行以下操作来设置整个JVM的默认处理程序(这样,抛出的任何未捕获的异常都将由该处理程序处理)。
Thread.setDefaultUncaughtExceptionHandler(new MyUncaughtExceptionHandler() );



