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