如何使用 Java 中的 UncaughtExceptionHandler 处理异常?
javaobject oriented programmingprogramming更新于 2025/7/29 9:16:17
UncaughtExceptionHandler 是 Thread 类中的一个接口。当 主线程 即将因未捕获的异常而终止时,Java 虚拟机 将调用该线程的 UncaughtExceptionHandler 来执行一些错误处理,例如在线程被终止之前将 异常记录到文件 或 将日志上传到服务器。我们可以设置一个默认异常处理程序,它将被调用来处理所有未处理的异常。它是在 Java 5 版本 中引入的。
可以使用 java.lang.Thread 类的以下静态方法设置此 Handler。
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
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

