StackTraceElement[] getStackTrace()
描述 (Description)
java.lang.Throwable.getStackTrace()方法返回一个堆栈跟踪元素数组,每个元素代表一个堆栈框架。 数组的第0个元素(假设数组的长度为非零)表示堆栈的顶部,这是序列中的最后一个方法调用。 这就是创建和抛出此throwable的点。
数组的最后一个元素(假设数组的长度为非零)表示堆栈的底部,这是序列中的第一个方法调用。
声明 (Declaration)
以下是java.lang.Throwable.getStackTrace()方法的声明
public StackTraceElement[] getStackTrace()
参数 (Parameters)
NA
返回值 (Return Value)
此方法返回一个堆栈跟踪元素数组,表示与此throwable相关的堆栈跟踪。
异常 (Exception)
NA
例子 (Example)
以下示例显示了java.lang.Throwable.getStackTrace()方法的用法。
package com.iowiki;
import java.lang.*;
public class ThrowableDemo {
public static void main(String[] args) {
try {
ExceptionFunc();
} catch(Throwable e) {
// access to the stack trace
StackTraceElement[] trace = e.getStackTrace();
System.err.println(trace[0].toString());
}
}
public static void ExceptionFunc()throws Throwable {
Throwable t = new Throwable("This is new Exception...");
StackTraceElement[] trace = new StackTraceElement[] {
new StackTraceElement("ClassName","methodName","fileName",15)
};
// sets the stack trace elements
t.setStackTrace(trace);
throw t;
}
}
让我们编译并运行上面的程序,这将产生以下结果 -
ClassName.methodName(fileName:15)