Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么这个局部变量不可用?_Java_Debugging_Intellij Idea - Fatal编程技术网

Java 为什么这个局部变量不可用?

Java 为什么这个局部变量不可用?,java,debugging,intellij-idea,Java,Debugging,Intellij Idea,最近,我在IntelliJ IDEA(CommunityEdition构建#IC182.3684.101)的一次调试会话中偶然发现了这一点。 所以,即使调试器位于catch块内,它也无法访问局部变量,因此无法对它们执行任何操作(peek、evaluate)。有时它会让人恼火,因为我们必须让它抛出异常并停止当前对它的执行 这些局部变量不应该在块完成执行之前可用吗? 还是仅在IntelliJ IDEA中?它应该具有访问权限。你确定你真的在catch块内而不是catch行上吗?除非@SteveSmi

最近,我在IntelliJ IDEA(CommunityEdition构建#IC182.3684.101)的一次调试会话中偶然发现了这一点。

所以,即使调试器位于catch块内,它也无法访问局部变量,因此无法对它们执行任何操作(peek、evaluate)。有时它会让人恼火,因为我们必须让它抛出异常并停止当前对它的执行

这些局部变量不应该在块完成执行之前可用吗?
还是仅在IntelliJ IDEA中?

它应该具有访问权限。你确定你真的在catch块内而不是catch行上吗?除非@SteveSmith是对的,否则我猜你是在没有关闭优化的情况下构建项目的,并且变量已经优化掉了。我包括了一个屏幕截图,因为它不是一个实例,但是有多个itOr实例,可能是由于其他原因,调试器中运行的代码与编辑器不同步。我在IDEA方面没有太多经验,但在eclipse中,我会尝试“刷新”项目。@SteveSmith,是的,您可以在屏幕截图中看到,蓝线突出显示了当前正在执行的行,并且它处于捕获块中