如何使用Intellij Idea的exception断点
这似乎是一个愚蠢的问题,但我无法弄清楚如何在Intellij Idea中调试exception。 谷歌搜索也没有帮助。
我尝试创建exception断点。 当IDEA中断时,我希望它给我一个调用堆栈,显示导致抛出exception的方法以及自动监视窗口,就像Visual Studio的调试工具一样。 相反,它显示了有关Launcher
或ClassLoader
各种乱码消息,但在运行时没有显示实际exception的迹象。
那么IDEA的exception断点究竟应该如何使用呢?
它工作得很好,我真的不知道你有什么样的问题与Launcher或ClassLoader。 可能是您已选择捕获Any exceptions
,这意味着它将在启动和类加载期间捕获所有类型的exception。 您必须对要捕获的exception做出具体选择,或者只是在捕获exception之前全部检查它们。
无论如何,我会告诉你如何设置一个非常简单的案例,你会发现它工作得非常好。
我有一个简单的情况,将抛出NullPointerException
。
首先,您必须设置exception断点。
按Ctrl + Shift + F8进入View Breakpoints...
窗口。 然后按左上角的小+号。
输入NullPointerException并按OK
按钮。
确保未选中Any exception
。
现在通过右键单击main方法并选择Debug 'SomeClass.main()'
来运行程序
最后,当exception被捕获时,您将看到所有您想要的东西,如调用堆栈和监视窗口 。
我终于弄明白了。 在“ View Breakpoints
窗口中,选中“ Any Exception
但取消选中“ Caught exception
”标记。 启动程序和类加载器exception由JVM在内部捕获和处理。 这样,无需手动指定exception类型即可捕获任何用户exception。
- 类抛出exception
- 在Java中拯救吞噬的exception
- 更新Apache POI 4.0后 – 无法识别属性“http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit”
- 主线程exception上的Android Bump Api网络
- 是否可以忽略exception?
- 通过Eclipse运行时,Java无法找到文件
- 为什么用户定义的exception类在java中是首选/重要的?
- java.lang.ArrayIndexOutOfBoundsException:length = 4; index = 4长度数组
- Java:在构造函数中抛出exception,我的对象是否仍然可以创建?