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

来源:互联网 发布:淘宝同一下单的人太多 编辑:程序博客网 时间:2024/06/05 15:07

线程异常的处理

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();    }}


0 0
原创粉丝点击