【问题标题】:catching null exception [duplicate]捕获空异常[重复]
【发布时间】:2011-12-07 00:12:44
【问题描述】:

我正在为 android 开发一个 java 应用程序,我目前遇到一个问题,调试器正在进入我的 catch 块,并且 ex 为 null?有没有人见过这样的东西?

}
catch(Exception ex)
{
   // Debugger is coming through the catch block and ex is null ????
}

【问题讨论】:

    标签: java android eclipse exception


    【解决方案1】:

    该块中的异常永远不会为空。如果调试器中的指令指针指向 catch 行,您需要再执行一行以使您可以访问异常。您可能希望在 catch 块中添加一行代码(可能是日志调用),并将断点放在上面以捕获 ex 是什么。

    【讨论】:

    • 是的,我什至尝试过throw null;,但随后捕获了一个实例NullPointerException
    • 如果你说我回答了你的问题,那么请点击我的答案旁边的复选框说我解决了你的问题。
    • 我不是问这个问题的人,所以我不能那样做。
    • 对不起,Ben.... 甚至没有意识到你不是最初的发帖人。今天一定是疯了。
    • 不用担心。我认为你的答案是正确的;-)
    【解决方案2】:

    添加一些日志语句并检查。您的 ex 可能超出范围。

    【讨论】:

    • 有问题的 David Carpenter 说“// 调试器正在通过 catch 块并且 ex 为 null ????”。所以“ex”在范围内。
    【解决方案3】:

    这听起来像源代码和编译的类不同步,所以调试器进入了错误的块。

    尝试先清理然后重建。

    【讨论】:

    • 我清理了项目并重建,似乎已修复。谢谢!
    【解决方案4】:

    在真实设备(Galaxy Tab 2)上调试时,我在 AsyncTask 中遇到了完全相同的问题。所以我也可以确认,这个奇怪的问题是真实存在的。

    对我来说,接受的答案没有帮助。

    但就我而言,在拔下设备的 USB 插头并随后再次连接(然后再次运行我的应用程序)后,问题神秘地消失了。

    【讨论】:

      猜你喜欢
      • 2012-07-13
      • 2015-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多