我正在为Android的Java应用程序工作,我目前遇到一个问题,调试器正在进入我的catch块,并以某种方式前为空?有没有人见过这样的事情?捕获空异常
}
catch(Exception ex)
{
// Debugger is coming through the catch block and ex is null ????
}
我正在为Android的Java应用程序工作,我目前遇到一个问题,调试器正在进入我的catch块,并以某种方式前为空?有没有人见过这样的事情?捕获空异常
}
catch(Exception ex)
{
// Debugger is coming through the catch block and ex is null ????
}
这听起来像源代码和编译的类不同步,所以调试器正在步入错误的块。
尝试做一个干净的,然后重建。
该块中的异常永远不会为空。如果调试器中的指令指针指向catch行,则需要再多行一行以获取可供您访问的异常。你可能想要添加一行代码(可能是一个日志调用)到你的catch块,并把你的断点放在那里来捕捉ex。
是的,我甚至尝试过'抛出空;'但是然后一个实例'NullPointerException'被捕获。 –
如果您说我回答了您的问题,请点击我答案旁边的复选框,说我解决了您的问题。 –
我不是那个问这个问题的人,所以我不能那样做。 –
添加一些日志语句并检查。您的ex
可能超出范围。
有问题的David Carpenter说:“//调试程序正在通过catch块并且ex是null ????”。所以“ex”就在范围之内。 – hasanghaforian
在真实设备(Galaxy Tab 2)上进行调试时,我在AsyncTask中出现了完全相同的问题。所以我也可以证实,这个奇怪的问题是真实的。
对我来说,接受的答案没有帮助。
但在我的情况下,拔掉设备的USB插头并重新连接(然后再次运行我的应用程序)后神秘地消失了问题。
我清理了项目并重建了,似乎修复了。谢谢! –