【发布时间】:2011-02-07 13:49:02
【问题描述】:
我更喜欢将异常处理逻辑放在调用堆栈中更靠前的位置,靠近 main 方法。我喜欢这种方法...但是,我创建了一个线程,其中 run() 中的一些方法调用可能会引发异常。我真的很想看看是否有办法将这些异常抛出回父线程?我能想到的最好的方法是在实现Runnable 的对象内设置一个变量。该变量是一个包含错误消息的字符串,然后它使用类加载器在父线程中正确地重新创建相同的异常。
我想知道的是,这里有没有一种不那么混乱的方式来获得我想要的东西? (能够确保在子线程中抛出的任何异常都使用相同的异常处理逻辑进行处理,就好像它在主线程中运行/代码重用一样)。
【问题讨论】:
-
似乎这个问题在这里被问了很多......我会考虑关闭它但是在阅读了其他一些之后这个问题确实提出了一些不同的问题:正在使用类加载器+保存异常在可运行对象中可行吗?
-
显然它不像 Bill K 所说的那样。谢谢。
标签: java multithreading exception-handling