子线程抛出异常时,整个程序的处理流程

来源:9-3 处理异常

martin123_

2020-09-07

老师您好,当子线程抛出异常时,程序是怎么去调用我们写的UncaughtHandler类,并使用它里面的方法处理异常的?

写回答

1回答

martin123_

提问者

2020-09-07

我看了一下源码,感觉上子线程发生异常时,

会有`某一个东西`先检测线程是否设置了uncaughtExceptionHandler,如果没有会去调用所属线程组的相应方法;但是这个`某一个东西`,我在Thread源码中并没有找到(也可能是我看得不够详细);我想知道这个`某一个东西`是在哪里写的,是C代码?还是JVM的机制?

0
1
悟空
是JVM的机制,源码: /** * Dispatch an uncaught exception to the handler. This method is * intended to be called only by the JVM. */ private void dispatchUncaughtException(Throwable e) { getUncaughtExceptionHandler().uncaughtException(this, e); }
2020-09-08
共1条回复

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程