当运行时异常从run()方法抛出时,异常默认行为是在控制台输出堆栈记录,并退出线程。
但可以 实现UncaughtExceptionHandler 来捕获抛出的异常
方法一:
Thread thread = new Thread(() -> {
Integer.parseInt("xxx");
});
thread.setUncaughtExceptionHandler(new TheadExcepitonHandle());
thread.start();
方法 二:
//方法二
//为应用程序中所有的线程对象创建了一个异常处理器 - 全局的。
Thread.setDefaultUncaughtExceptionHandler(new TheadExcepitonHandle());
你也可以为线程组指定一个异常处理器。
它们的顺序是这样: 局部 >> 线程组 >> 全局