当我在 Eclipse 中以 Debug模式运行我的代码时,我能够找到代码崩溃的地方,但委员会没有显示异常。在 Debug模式下,我注意到抛出异常后,它似乎被运行它的线程吞没了,程序继续运行(或者至少继续运行。程序本身变得不可用)。有什么方法可以让线程中抛出的错误更明显吗?
如果我误解了调试器在遇到异常时通过代码所采用的路径,我深表歉意。在我看来,它似乎被线程捕获了。不管怎样,每当我有线程代码时,我都很难找出错误是什么。
最佳答案
使用 Eclipse 调试器,您可以配置一个断点,以便在抛出某些指定的 Exception
时中断。
要设置它:
在调试器的Breakpoints 选项卡上,按J! 按钮。这将使您能够添加 Java 异常断点。您还可以选择挂起抛出异常的 JVM 或线程。
就在您指定的Exception
被抛出之前,调试器将根据您的选择挂起线程或JVM(所有线程)。此时,您可以开始诊断问题。它并非万无一失,但它会为您调试问题提供一个极好的起点。
如果不知道抛出什么Exception,可以选择java.lang.Exception
。这将暂停任何抛出的 Exception
。
关于Java线程捕获所有异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19261157/