读书人

java线程错误处理类UncaughtException

发布时间: 2013-08-06 16:47:25 作者: rapoo

java线程异常处理类UncaughtExceptionHandler

???? java提了一个线程异常处理类,当线程执行的时候如果出现异常,可以调用该函数,进行一些善后工作,比如释放资源、清理数据等工作。通过这种方式,线程不需要关注因为异常导致资源不能释放等问题。

package thread.exception;/* * 1、Thread的run方法是不抛出任何检查型异常(checked exception)的,但是它自身却可能因为一个异常而被终止 * 2、主线程之所以不处理子线程抛出的RuntimeException,是因为线程是异步的,子线程没结束,主线程可能已经结束了 *  * http://blog.csdn.net/wh62592855/article/details/8088827 */import java.lang.Thread.UncaughtExceptionHandler;public class TestThreadExceptionHandler{    public static void main(String[] args)    {        ExceptionThread thread = new ExceptionThread();        ThreadExceptionHandler handler = new ThreadExceptionHandler();        thread.setUncaughtExceptionHandler(handler);                thread.start();            }}/** * UncaughtExceptionHandler:线程异常回调 */class ThreadExceptionHandler implements UncaughtExceptionHandler{    public void uncaughtException(Thread a, Throwable e)    {        System.out.println("exception occur--"+e);    }}/** * 会抛出异常的线程 */class ExceptionThread extends Thread{    public ExceptionThread()    {    }    public void run()    {        for (int i = 3; i >= 0; i--)        {            System.out.println(30 / i);        }    }}

?

?

?

?

读书人网 >编程

热点推荐