static void setDefaultUncaughtExceptionHandler (Thread.UncaughtExceptionHandler eh)
描述 (Description)
java.lang.Thread.setDefaultUncaughtExceptionHandler()方法设置当线程由于未捕获的异常而突然终止时调用的默认处理程序,并且没有为该线程定义其他处理程序。
声明 (Declaration)
以下是java.lang.Thread.setDefaultUncaughtExceptionHandler()方法的声明
public static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh)
参数 (Parameters)
eh - 这是用作默认未捕获异常处理程序的对象。 如果为null则没有默认处理程序。
返回值 (Return Value)
此方法不返回任何值。
异常 (Exception)
SecurityException - 如果存在安全管理器并且它拒绝RuntimePermission
例子 (Example)
以下示例显示了java.lang.Thread.setDefaultUncaughtExceptionHandler()方法的用法。
package com.iowiki;
import java.lang.*;
public class ThreadDemo {
public static void main(String[] args) {
Thread t = new Thread(new adminThread());
t.setDefaultUncaughtExceptionHandler(new Thread.
UncaughtExceptionHandler() {
public void uncaughtException(Thread t, Throwable e) {
System.out.println(t + " throws exception: " + e);
}
});
// this will call run() function
t.start();
}
}
class adminThread implements Runnable {
public void run() {
throw new RuntimeException();
}
}
让我们编译并运行上面的程序,这将产生以下结果 -
Thread[Thread-0,5,main] throws exception: java.lang.RuntimeException