Eclipse在错误的行中显示异常

时间:2013-06-24 07:53:56

标签: java eclipse debugging exception

Eclipse 4.2.2(与Oracle JDK 1.7.0一起使用)显示在synchronized内的异常 - 块在错误的行中,即块的开头。

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


最小的工作示例:

  public class Test {

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

    void test() {
      synchronized (this) {
        throw new RuntimeException();
      }
    }
  }

Eclipse在这里显示异常:

exception in line "synchronized (this)"

堆栈追踪:

stack trace

1 个答案:

答案 0 :(得分: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)

你不能直接在这里检查Exception(据我所知),因为它没有在变量中捕获)。但是如果你去偏好 - > Java - >调试 - >打开Popup当Suspended on Exception时,Eclipse将创建一个包含Exception(具有正确的行号)的pop,您可以检查/钻取