Java.lang.Throwable.setStackTrace() 方法
描述
java.lang.Throwable.setStackTrace() 方法设置将由 getStackTrace() 返回并由 printStackTrace() 和相关方法打印的堆栈跟踪元素。
声明
以下是 java.lang.Throwable.setStackTrace() 方法的声明。
public void setStackTrace(StackTraceElement[] stackTrace)
参数
stackTrace − 这是要与此 Throwable 关联的堆栈跟踪元素。
返回值
此方法不返回任何值。
异常
NullPointerException − 如果 stackTrace 为 null,或者 stackTrace 的任何元素为 null
示例
下面的例子展示了 java.lang.Throwable.setStackTrace() 方法的使用。
package com.tutorialspoint;
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",10)
};
// sets the stack trace elements
t.setStackTrace(trace);
throw t;
}
}
让我们编译并运行上面的程序,这将产生下面的结果 −
ClassName.methodName(fileName:10)

