0

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();
      }
    }
  }

Eclipse 在此处显示异常:

排队异常

堆栈跟踪:

堆栈跟踪

4

1 回答 1

5

您拥有的屏幕截图不是例外,而是调试视图。它向您显示当前执行行在哪里,这是正确的。RuntimeException 已被抛出,现在执行正在解开回到顶部。在屏幕截图中,执行已到达第 9 行。

Eclipse 中的控制台视图显示了异常并正确列出了第 10 行。

Exception in thread "main" java.lang.RuntimeException
at LineNumber.test(LineNumber.java:10)
at LineNumber.main(LineNumber.java:5)

您不能在此处直接检查异常(据我所知),因为它没有被捕获在变量中)。但是,如果您转到 Preferences -> Java -> Debug -> Open Popup When Suspended on Exception,Eclipse 将创建一个包含异常(具有正确的行号)的弹出窗口,您可以对其进行检查/钻取

于 2013-06-24T08:38:12.640 回答