如何在 Java 中使用 UncaughtExceptionHandler 來處理異常?
UncaughtExceptionHandler 是一個位於Thread 類的內部介面。當主執行緒由於未捕獲的異常而即將終止時,java 虛擬機器將呼叫該執行緒的UncaughtExceptionHandler ,為其提供機會執行一些錯誤處理操作,例如將**異常記錄到檔案**或**將日誌上傳到伺服器**,然後再將其終止。我們可以設定一個預設異常處理程式,它將為所有未處理的異常呼叫。它在Java 5 版本中被引入。
可以使用**java.lang.Thread**類的以下靜態方法設定此處理程式。
public static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler ueh)
我們必須提供介面Thread.UncaughtExceptionHandler的實現,該介面只有一個方法。
語法
@FunctionalInterface
public interface UncaughtExceptionHandler {
void uncaughtException(Thread t, Throwable e);
}示例
public class UncaughtExceptionHandlerTest {
public static void main(String[] args) throws Exception {
Thread.setDefaultUncaughtExceptionHandler(new MyHandler());
throw new Exception("Test Exception");
}
private static final class MyHandler implements Thread.UncaughtExceptionHandler {
@Override
public void uncaughtException(Thread t, Throwable e) {
System.out.println("The Exception Caught: " + e);
}
}
}輸出
The Exception Caught: java.lang.Exception: Test Exception
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP