gpt4 book ai didi

java - 如何跳转到 IntelliJ 调试器捕获异常的地方?

转载 作者:行者123 更新时间:2023-11-30 10:41:05 24 4
gpt4 key购买 nike

我有

throw new IndexOutOfBoundsException();

我的代码中的行。不幸的是,这个异常没有任何影响:即没有出现消息,也没有程序崩溃。

这是因为系统库中的某处调用了代码,并捕获并处理了异常。

如何找到这个地方?

如果我在这一行按F8,我会跳转到Scene中的代码:

            try {
tm = dndGesture.processTargetDrop(dragEvent);
} finally {
DragboardHelper.setDataAccessRestriction(
dndGesture.dragboard, true);
}

但是这段代码会捕获异常吗?我认为它应该只执行 finally block ,然后转到某个地方的 catch block 。但这不会发生:如果我继续按 F8,我看不到任何 try/catch/finally block 。

这怎么会发生?

最佳答案

您正在寻找一个异常断点,您可以将其设置为在异常被捕获时中断。在“断点”对话框中(默认绑定(bind)到 Ctrl+Shift+F8 或 Cmd+Shift+F8,具体取决于平台,或单击“调试”任务 Pane 中的 the breakpoint dialog button),创建一个 Java 异常断点,并在捕获和未捕获时发出通知.

Screenshot of Breakpoint dialog

然后,一旦您的断点触发,您应该能够单步执行代码并查看调用堆栈并查看是什么捕获了它。

有关详细信息,请参阅 Creating Exception Breakpoints在 IntelliJ IDEA 文档中,它链接到关于断点对话框中所有配置选项的细节。

关于java - 如何跳转到 IntelliJ 调试器捕获异常的地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38635590/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com