当前位置: 首页 > >

JAVA多线程??线程运行时异常的处理

发布时间:

线程异常的处理

1. 非运行时异常(Unchecked Exception)?


必须捕获并处理,因为run()方法并不支持throws语句


2.运行时异常(Runtime Exception)


? 2.1默认在控制台输出异常信息


? 2.2设置UncaughtException异常处理器来自定义处理操作






异常处理器:实现Thread.UncaughtExceptionHandler接口

public class ThreadExceptionHandler implements Thread.UncaughtExceptionHandler {
@Override
public void uncaughtException(Thread t, Throwable e) {
System.out.println(t.getName() + " throws an exception");
e.printStackTrace();
}
}


public class TestException implements Runnable {
//抛出数组下标越界异常
@Override
public void run() {
int[] a = new int[1];
System.out.println(a[2]);
}
public static void main(String[] args) {
Thread t = new Thread(new TestException());
//设置运行时异常处理器
t.setDefaultUncaughtExceptionHandler(new ThreadExceptionHandler());
t.start();
}
}




友情链接: 时尚网 总结汇报 幼儿教育 小学教育 初中学习资料网