setStackTrace()
方法setStackTrace()方法在java.lang包中可用。
setStackTrace()方法用于设置将使用getStackTrace()
方法检索的堆栈跟踪元素。
setStackTrace()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
setStackTrace()方法在设置堆栈跟踪元素时可能会引发异常。
NullPointerException-当给定参数为null或堆栈跟踪的任何现有元素为null时,可能引发此异常。
语法:
public void setStackTrace(StackTraceElement[] st_tr);
参数:
StackTraceElement [] st_tr –表示“ StackTraceElement”的数组。
返回值:
该方法的返回类型为void,不返回任何内容。
示例
//Java程序演示示例 //setStackTrace(StackTraceElement [] st_tr) 性 //Throwable方法 public class SetStackTrace { public static void main(String args[]) { try { stackTraceMethod(); } catch (Throwable ex) { //通过使用getStackTrace()方法是获取 //堆栈跟踪元素 StackTraceElement[] st_tr = ex.getStackTrace(); System.err.println("st_tr[0].toString()" + st_tr[0].toString()); } } public static void stackTraceMethod() throws Throwable { int li_nu = 7; //实例化一个新的异常 //可投掷 Throwable th = new Throwable("Raise New Exception"); StackTraceElement[] st_tr = new StackTraceElement[] { new StackTraceElement("cl_na", "me_na", "fu_na", li_nu) }; //通过使用setStackTrace()方法是设置 //堆栈中的元素 th.setStackTrace(st_tr); throw th; } }
输出结果
st_tr[0].toString()cl_na.me_na(fu_na:7)