前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java中给出一个子线程如何捕获主线程异常的例子

java中给出一个子线程如何捕获主线程异常的例子

作者头像
马克java社区
修改2021-04-20 10:15:04
6990
修改2021-04-20 10:15:04
举报
文章被收录于专栏:java大数据

马克-to-win:接着我们看子线程如何捕获主线程的异常  

例:1.5.4_2

import java.lang.Thread.UncaughtExceptionHandler;

class ThreadMark_to_win extends Thread  {

    Thread mainT;

    Test test;

    ThreadMark_to_win(Thread t1,Test t2)

    {

        mainT = t1;

        test=t2;

        mainT.setUncaughtExceptionHandler(new UncaughtExceptionHandler() {

            public void uncaughtException(Thread t, Throwable e) {

                System.out.println("在子程序处理呢, 传进来的参数是"+test.name+"   "+t.getName()+"   "+ e.getMessage());

            }

        });        

    }

    public void run()

    {

        for(int i=0;i<3;i++) 

        {   

            try {

                Thread.sleep(100);

            } catch (InterruptedException e) {

            }

            System.out.println("在子线程"+i);

        }

    }

}

public class Test {

    String name="马克-to-win在主线程";

    public static void main(String[] args) {

        Thread mainT = Thread.currentThread();

        Test t=new Test();

        ThreadMark_to_win tm = new ThreadMark_to_win(mainT,t);

        tm.start();

        for (int i = 0; i < 3; i++)

        {

            try {

                Thread.sleep(100);

            } catch (InterruptedException e) {

            }

            System.out.println("在主线程" + i);

        }

        throw new RuntimeException("在主线程,我自己抛出的一个异常");

    }

}

更多请见:https://blog.csdn.net/qq_44639795/article/details/103096615

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档