Java JRE如何知道发生异常的代码行号?
考虑以下异常打印Java JRE如何知道发生异常的代码行号?,java,Java,考虑以下异常打印 java.util.NoSuchElementException at java.util.StringTokenizer.nextToken(StringTokenizer.java:332) at com.infoaxe.mr.homefeed.ReduceTwo.reduce(MapReduce.java:290) 既然Java是一种编译语言,在JVM中运行的是字节码而不是源代码本身,那么异常如何知道发生在哪一行?上述案例中的第332行示例 这仅仅是因为
java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(StringTokenizer.java:332)
at com.infoaxe.mr.homefeed.ReduceTwo.reduce(MapReduce.java:290)
既然Java是一种编译语言,在JVM中运行的是字节码而不是源代码本身,那么异常如何知道发生在哪一行?上述案例中的第332行示例 这仅仅是因为编译器在生成的字节码中包含行号。如果您愿意,有
-g
(在OracleJavaC编译器中)允许关闭它。字节码可能包括