NetBeans和停止/中断所有异常



我使用NetBeans作为我开发Android的IDE。

然而,当我得到一个异常时,Netbeans不会像我期望的那样在异常上中断。

我已经选中了"停止未捕获的异常"框,可以在选项-> Java调试器->停止未捕获的异常中找到,但这没有帮助。

此外,我在哪里可以看到实际的异常消息?我什么也没看见。我不知道异常何时何地发生,只知道它确实发生了。

我在netbeans.org网站上读到6.9.1的一个bug已经修复了,但是在7.0中似乎没有修复。

调试窗口根本没有说任何有用的东西,给出了一些毫无意义的堆栈跟踪形式,因为它没有指定我自己的任何代码。

我从Eclipse切换过来,因为IDE很糟糕,NetBeans更精简,但调试需要修复才能有用。

当我使用netbeans时也有这个问题。为了获得异常消息,我使用了try-and-catch。在catch()语句中,调用一个包含一些代码的函数,并在其上设置一个断点。然后,当给出异常时,catch语句中的断点将被调用,您可以从exception对象中读取信息(错误消息,堆栈等)。

try
{
    // Doing something here
}
catch (Exception e1)
{
    // This is called when an exception occurs
    doSomething();   /// Put breakpoint here
}

更新:

我不确定这是否适用于android,但您可以尝试输入"新断点"。当输入一个新的断点来中断异常时,您需要知道确切的包/类异常名。例如,如果你想抓一个NullPointerException,然后转到Debug>> New Breakpoint创建一个新断点并输入的异常类名字段中添加nullpointerexception断点属性对话框。选择是否在捕获异常、未捕获异常或两者同时中断,如果该类异常在类/项目中出现,它将击中一个断点。

我有这样的行为,我有我的源文件,生成异常不在"默认包"。当我把所有东西都移到"default package"时,它开始正常工作,并在异常情况下自动停止。

这个答案实际上也回答了这个问题:https://stackoverflow.com/a/2671390/415551

引用用户Finbarr:

转到调试>新建断点(或者CTRL+SHIFT+F8)。改变在右上方的下拉菜单中将断点类型设置为Exception。在例外类字段中输入java.lang.NullPointerException。选择在被捕获、未捕获或两者同时中断。

调试您的代码,并观察当抛出异常。

只需将java.lang.NullPointerException更改为java.lang.Exception即可在任何错误时中断

相关内容

  • 没有找到相关文章

最新更新