码迷,mamicode.com
首页 > 编程语言 > 详细

Java并发学习之八——在线程中处理不受控制的异常

时间:2014-08-21 17:08:24      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:并发

本文是学习网络上的文章时的总结,感谢大家无私的分享。

1Java里有2种异常:

检查异常:这些异常必须强制捕获她们或在一个方法里的throws子句中。

未检查异常:这些异常不用强制捕获它们。

2、在一个线程对象的run()方法里抛出一个检查异常,我们必须捕获并处理她们。因为run()方法不接受throws子句。当一个非检查异常抛出,默认的的行为是在控制台写下stack trace并退出程序。

package chapter;

public class Main8 {

	/**
	 * <p>
	 * </p>
	 * @author zhangjunshuai
	 * @date 2014-8-21 下午2:14:52
	 * @param args
	 */
	public static void main(String[] args) {

		Task task = new Task();
		Thread thread = new Thread(task);
		thread.setUncaughtExceptionHandler(new ExceptionHandler());
		thread.start();
	}

}

package chapter;

public class Task implements Runnable{
	@Override
	public void run() {

		int numero = Integer.parseInt("TTT");
	}

}

package chapter;

import java.lang.Thread.UncaughtExceptionHandler;

public class ExceptionHandler implements UncaughtExceptionHandler{

	@Override
	public void uncaughtException(Thread t, Throwable e) {

		System.out.printf("An exception has been captured\n");
		System.out.printf("Thread:%s\n",t.getId());
		System.out.printf("Exception:%s :%s\n",e.getClass().getName(),e.getMessage());
		System.out.printf("Stack Traace");
		e.printStackTrace(System.out);
		System.out.printf("Thread status:%s\n",t.getState());
		
	}

}

运行结果:

bubuko.com,布布扣

Java并发学习之八——在线程中处理不受控制的异常,布布扣,bubuko.com

Java并发学习之八——在线程中处理不受控制的异常

标签:并发

原文地址:http://blog.csdn.net/junshuaizhang/article/details/38732905

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!