java中对于当前执行的文件号和行号的追踪信息封装在StackTraceElement 对象中。
对于该对象的JDK手册中的描述如下
public final class StackTraceElementextends Objectimplements Serializable 堆栈跟踪中的元素,它由
|
对象的实例方法:
boolean | equals(Object obj) 如果指定的对象是另一个 StackTraceElement 实例,并且该对象表示的执行点与该实例的相同,则返回 ture。 |
String | getClassName() 返回类的完全限定名,该类包含由该堆栈跟踪元素所表示的执行点。 |
String | getFileName() 返回源文件名,该文件包含由该堆栈跟踪元素所表示的执行点。 |
int | getLineNumber() 返回源行的行号,该行包含由该堆栈该跟踪元素所表示的执行点。 |
String | getMethodName() 返回方法名,此方法包含由该堆栈跟踪元素所表示的执行点。 |
int | hashCode() 返回此堆栈跟踪元素的哈希码值。 |
boolean | isNativeMethod() 如果包含由该堆栈跟踪元素所表示的执行点的方法是一个本机方法,则返回 true。 |
String | toString() 返回表示该堆栈跟踪元素的字符串。 |
java代码示例:
- public class Test10
- {
- public static void main(String args[])
- {
- System.out.println("This is " + getLineInfo());
- }
- public static String getLineInfo()
- {
- StackTraceElement ste = new Throwable().getStackTrace()[1];
- return ste.getFileName() + ": Line " + ste.getLineNumber();
- }
- }
输出结果:
This is FileTrace.java: Line 6
转载于:https://blog.51cto.com/zorro/883855