如何在Java中使用try / catch获取错误行号?

时间:2018-10-31 04:57:48

标签: java

我想使用try and catch找出错误行号。我试图从How to get error line number of code using try-catch获取一些信息,但是由于我使用了其他语言,因此没有帮助。

现在,我得到java.lang.NumberFormatException: For input string: ""

try {
    // My Code Here

} catch(Exception e) {
      System.out.println(e);
}

我也尝试打印e.getStackTrace()[0].getLineNumber());,但似乎没有显示正确的错误行号。我有什么办法可以轻松获得它吗?我有一个很大的文件,我认为我无法逐行检查问题所在。

谢谢!

2 个答案:

答案 0 :(得分:2)

如果使用Logger库,它可以在调试模式下打印指向行号的堆栈跟踪。否则printStackTrace()是您的朋友。

try {
    // My Code Here

} catch(Exception e) {
      System.out.println(e);
      e.printStackTrace();  // This will give line number
}

答案 1 :(得分:1)

package com.ms.common;

public class Run {

public static void main(String[] args) {
try {

  int value = 5;
  int divider = 0;

  int result = value / divider;

} catch (Exception e) {
  System.out.println(e.getStackTrace()[0]);
}

}

}

Run.java在第11行出现错误

com.ms.common.Run.main(Run.java:11)