public class Test {
public static void main(String[] args){
Thread.UncaughtExceptionHandler handler= new Thread.UncaughtExceptionHandler(){
public void uncaughtException(Thread th,Throwable ex){
System.out.println("Uncaught exception:" + ex);
}
}; //先new一个异常捕捉处理的handler
Thread myThread = new MyThread(); //实例化我自己编写的线程
myThread.setUncaughtExceptionHandler(handler); //设置线程的异常捕捉处理
myThread.start(); //启动线程
}
}
class MyThread extends Thread{
public void run(){
System.out.println("thread will throw exception");
throw new RuntimeException("My own exception from thread");
//当抛出异常时,先执行异常捕捉处理方法的程序,再执行自身的异常
}
}