Java并发之UncaughtExceptionHandler

来源:互联网 发布:360免费wifi软件 编辑:程序博客网 时间:2024/06/16 05:30
package com.lxht.test;public class TestUnCaughtException {    public static void main(String[] args) {        //所有的线程发生异常均会进入MyUncaughtException,包括main线程        Thread.setDefaultUncaughtExceptionHandler(new MyUncaughtException());        MyThread myThread1 = new MyThread();        //设置线程捕获异常的类        myThread1.setUncaughtExceptionHandler(new MyUncaughtException());        MyThread myThread2 = new MyThread();        myThread1.start();        myThread2.start();        String fff = null;        System.out.println(fff.hashCode());  //本句会抛空指针异常,均会被MyUncaughtException捕获    }}class MyThread extends Thread {    public void run() {        String cc = null;        System.out.println(cc.hashCode()); //本句会抛空指针异常    }}class MyUncaughtException implements Thread.UncaughtExceptionHandler {    @Override    public void uncaughtException(Thread t, Throwable e) {        System.out.println(t.getName() + ";throws a error!");    }}