當運行時異常從run()方法拋出時,異常默認行爲是在控制檯輸出堆棧記錄,並退出線程。java
但能夠 實現UncaughtExceptionHandler 來捕獲拋出的異常線程
方法一:code
Thread thread = new Thread(() -> { Integer.parseInt("xxx"); }); thread.setUncaughtExceptionHandler(new TheadExcepitonHandle()); thread.start();
方法 二:對象
//方法二 //爲應用程序中全部的線程對象建立了一個異常處理器 - 全局的。 Thread.setDefaultUncaughtExceptionHandler(new TheadExcepitonHandle());
你也能夠爲線程組指定一個異常處理器。
它們的順序是這樣: 局部 >> 線程組 >> 全局it