如果我在一个线程上调用了
谁来捕获这个异常?这个异常是否会被捕获?
run()
方法,而run()
方法抛出了一个未捕获的异常,那么会发生什么情况?谁来捕获这个异常?这个异常是否会被捕获?
run()
方法,而run()
方法抛出了一个未捕获的异常,那么会发生什么情况?public class MyThreadGroup extends ThreadGroup {
public MyThreadGroup() {
super("My Thread Group");
}
public void uncaughtException(Thread t, Throwable ex) {
// Handle exception
}
}
Thread t = new Thread(new MyThreadGroup(), "My Thread") { ... };
t.start();
使用AWT异常处理程序的示例:
public class MyExceptionHandler {
public void handle(Throwable ex) {
// Handle exception
}
public void handle(Thread t, Throwable ex) {
// Handle exception
}
}
System.setProperty("sun.awt.exception.handler", MyExceptionHandler.class.getName());