Thread
类的setDefaultUncaughtExceptionHandler()
方法设置当线程由于未捕获的异常而突然终止时调用的默认处理程序,并且没有为该线程定义其他处理程序。
语法
public static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh)
参数
eh
:它是用作默认的未捕获异常处理程序的对象。
返回
- 此方法不返回任何值。
异常
SecurityException
:如果存在安全管理器并且它拒绝RuntimePermission
,则抛出此异常。
示例
public class JavaSetDefaultExceptioneExp implements Runnable
{
public void run()
{
throw new RuntimeException();
}
public static void main(String[] args)
{
Thread thread = new Thread(new JavaSetDefaultExceptioneExp());
thread.setDefaultUncaughtExceptionHandler(new Thread.
UncaughtExceptionHandler()
{
public void uncaughtException(Thread thread, Throwable e)
{
System.out.println("Exception caught: " + e);
}
});
// call run() function
thread.start();
}
}
执行上面示例代码,得到以下结果:
Exception caught: java.lang.RuntimeException
上一篇:
Java Runtime类
下一篇:无