NetBeans和停止/中断所有异常?

时间:2011-08-31 21:42:15

标签: java android exception netbeans

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

然而,当我得到一个例外时,Netbeans不会像我期望的那样打破异常。

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

此外,我在哪里可以看到实际的异常消息?我什么都没看到。我不知道发生异常的地点和时间,只是确实发生了。

我在netbeans.org网站上看到一些关于6.9.1中已修复的错误的内容,但它似乎没有在7.0中修复。

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

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

3 个答案:

答案 0 :(得分:9)

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

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

<强>更新

我不确定这是否适用于Android,但您可以尝试输入“新断点”。输入新的断点以打破异常时,您需要知道 确切的包/类异常名称。例如,如果你想抓住一个 NullPointerException,然后转到Debug&gt;&gt;新断点创建一个新断点并输入 java.lang.NullPointerException进入Exception Class Name字段 断点属性对话框。选择是否中断已捕获,未捕获或两者的异常,如果在类/项目中发生此类异常,它将触及断点。

答案 1 :(得分:0)

我有这样的行为,我的源文件生成异常不在&#34;默认包&#34;。当我把所有东西都搬到&#34;默认包&#34;它开始正常工作并自动停止异常。

答案 2 :(得分:0)

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

引用用户Finbarr:

  

转到调试>新断点(或者CTRL + SHIFT + F8)。改变   在右上角下拉菜单中将“断点类型”设置为“异常”。   在“异常类”字段中输入java.lang.NullPointerException。   选择是中断捕获,未捕获还是同时中断。

     

调试您的代码,并在出现以下情况时观看光荣的自动断点:   引发异常。

只需将java.lang.NullPointerException更改为java.lang.Exception即可在发生任何错误时终止。