Eclipse在错误的行中显示异常

fef*_*rei 0 java eclipse debugging exception

Eclipse 4.2.2(与Oracle JDK 1.7.0一起使用)synchronized在错误的行(块的开头)中显示了-Block中抛出的异常.

在实际示例中,发现异常发生的行并不总是容易的.有没有办法让Eclipse显示抛出异常的实际行?


最小的工作示例:

  public class Test {

    public static void main(String[] args) {
      Test test = new Test();
      test.test();
    }

    void test() {
      synchronized (this) {
        throw new RuntimeException();
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

Eclipse在这里显示异常:

行中的异常

堆栈跟踪:

堆栈跟踪

mat*_*ake 5

您拥有的屏幕截图不是例外,而是Debug视图.它显示了当前执行线的位置和正确性.抛出了RuntimeException,现在执行正在解开回到顶部.在screeenshot,执行已达到第9行.

Eclipse中的Console视图显示了例外情况,并正确地列出了第10行.

Exception in thread "main" java.lang.RuntimeException
at LineNumber.test(LineNumber.java:10)
at LineNumber.main(LineNumber.java:5)
Run Code Online (Sandbox Code Playgroud)

你不能在这里直接检查Exception(据我所知),因为它没有在变量中捕获).但是如果你转到Preferences - > Java - > Debug - > Open Exup On Suspended on Exception,Eclipse将创建一个包含Exception(具有正确的行号)的pop,你可以检查/钻取