java.lang.Throwable.setStackTrace()方法实例
java.lang.Throwable.setStackTrace() 方法设置将由getStackTrace()和printStackTrace()相关方法返回并打印堆栈跟踪元素。
声明
以下是java.lang.Throwable.setStackTrace()方法的声明
public void setStackTrace(StackTraceElement[] stackTrace)
参数
-
stackTrace -- 堆栈跟踪元素与该Throwable有关。
返回值
此方法不返回任何值。
异常
-
NullPointerException -- 如果堆栈跟踪为null,或任何堆栈跟踪元素为null
例子
下面的例子显示java.lang.Throwable.setStackTrace()方法的使用。
package com.yiibai; 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)