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!");
}
}
Java并发之UncaughtExceptionHandler
最新推荐文章于 2020-09-17 17:02:18 发布