Java Thread setDefaultUncaughtExceptionHandler()方法

java.lang.Thread.setDefaultUncaughtExceptionHandler() 方法设置处理程序时调用线程突然终止默认由于未捕获到异常,并没有其他的处理程序被定义为该线程。

1 语法

public static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh)

2 参数

eh:这是因为默认的未捕获异常处理程序使用的对象。如果为null,则没有默认的处理程序

3 返回值

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.lang.Thread.setDefaultUncaughtExceptionHandler()方法的例子
 */
import java.lang.*;

public class Demo {

    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

热门文章

优秀文章