我正在研究一个用于android的java应用程序,我现在遇到一个问题,调试器正在进入我的catch块,不知何故ex为null?有没有人见过这样的事情?
}
catch(Exception ex)
{
// Debugger is coming through the catch block and ex is null ????
}
答案 0 :(得分:6)
这听起来像源代码,编译的类不同步,所以调试器正在步入错误的块。
尝试清理然后重建。
答案 1 :(得分:1)
该块中的异常永远不会为null。如果调试器中的指令指针指向catch行,则需要再多行一行以使您可以访问该异常。您可能希望在catch块中添加一行代码(可能是一个日志调用),并在其上设置断点以捕获ex。
答案 2 :(得分:0)
添加一些日志语句并检查。您的ex
可能超出范围。
答案 3 :(得分:0)
我在AsyncTask中遇到完全相同的问题,同时在真实设备(Galaxy Tab 2)上进行调试。所以我也可以证实,这个奇怪的问题是真的。
对我来说,接受的答案没有帮助。
但是在我的情况下,在拔下设备的USB插头并之后再次连接(然后再次运行我的应用程序)后,问题神秘地消失了。