Dim*_*ims 5 java debugging exception intellij-idea
我有
throw new IndexOutOfBoundsException();
Run Code Online (Sandbox Code Playgroud)
我的代码中的行。不幸的是,这个异常没有任何影响:即没有消息出现,也没有程序崩溃。
这是因为代码是从系统库中的某个地方调用的,并且异常被捕获并处理。
如何找到这个地方?
如果我按F8这一行,我会跳到里面的代码Scene:
try {
tm = dndGesture.processTargetDrop(dragEvent);
} finally {
DragboardHelper.setDataAccessRestriction(
dndGesture.dragboard, true);
}
Run Code Online (Sandbox Code Playgroud)
但是这段代码捕获异常了吗?我认为它应该只执行finally块然后转到某个catch块。但这不会发生:如果我继续按,F8我看不到任何try/catch/finally障碍。
怎么会发生这种事呢?
小智 0
您正在寻找一个异常断点,您可以将其设置为在异常被捕获时中断。在“断点”对话框中(默认情况下绑定到 Ctrl+Shift+F8 或 Cmd+Shift+F8,具体取决于平台,或者单击
在“调试”任务窗格中),创建一个 Java 异常断点,并包含有关“已捕获”和“未捕获”的通知。
然后,一旦断点触发,您应该能够单步执行代码并查看调用堆栈并查看是什么捕获了它。
有关更多信息,请参阅IntelliJ IDEA 文档中的创建异常断点,其中链接到有关断点对话框中所有配置选项的详细信息。
| 归档时间: |
|
| 查看次数: |
2140 次 |
| 最近记录: |