您的位置 首页 > 数码极客

『多线程如何抛出异常』java多线程抛出异常

首先得明确线程中的run()方法是不能抛出任何checked异常,所以该类异常只能被线程自己捕获,自己内部消化,因为线程本身就是一个独立片段。

但是,给某个thread设置一个UncaughtExceptionHandler,可以确保在该线程出现异常时能通过回调UncaughtExceptionHandler接口的

void uncaughtException(Thread t, Throwable e);

方法来处理异常,在这里我们可以处理在线程内部未捕获到的异常,可以抛出错误码。

public class ThreadException { public static void main(String[] args) { Thread t = new Thread(() -> { try { T(3000); } catch (InterruptedException e) { e.printStackTrace(); } Sy(10 / 0); }); t.start(); t.setUncaughtExceptionHandler((t1, e) -> { Sy(e); Sy(t1); }); } }java.lang.ArithmeticException: / by zero Thread[Thread-0,5,main]

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“多线程如何抛出异常,java多线程抛出异常,多线程异常捕获,如何捕获多线程异常,多线程异常处理原则”边界阅读