0

假设你有这样的代码:

Random rnd=new Random();
try {

  if(rnd.nextInt(1000)==0) {
     throw new Exception();
  }
  // repeat above code N times, N being big.

}catch(Exception e) {
  LOGGER.error("caught:", e);
} 

现在我在 catch 子句中添加一个断点。如果它得到 caugt,我怎样才能找出引发异常的行号?

4

3 回答 3

1

堆栈跟踪包含此信息。

想法

堆栈跟踪:

Exception in thread "main" java.lang.Exception
    at Main.main(Main.java:8)
于 2013-03-27T15:47:37.100 回答
0

添加异常断点:

在异常对话框中,按“J!” 按钮,然后捕获异常。

以下是截图:

http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fviews%2Fbreakpoints%2Fref-addexception_viewaction.htm

于 2013-03-27T15:51:58.857 回答
-2

您已经知道行号,它就是其中的行throw new Exception();)

如果你的意思是你想知道你已经循环了多少次,那么你可以在异常的构造函数中包含循环计数器,然后用e.getMessage()

于 2013-03-27T15:53:25.673 回答