位置:首頁 > Java技術 > java.lang > java.lang.Throwable.getStackTrace()方法實例

java.lang.Throwable.getStackTrace()方法實例

java.lang.Throwable.getStackTrace() 方法返回堆棧跟蹤元素的數組,每個代表一個堆棧幀。數組的第零個元素(假設該陣列的長度為非零)表示堆棧,它是序列中的最後一個方法調用的頂部。這是在此拋出對象的創建和拋出點。

所述數組的最後一個元素(假設該陣列的長度為非零)表示堆棧的底部,它是在序列中的第一個方法調用。

聲明

以下是java.lang.Throwable.getStackTrace()方法的聲明

public StackTraceElement[] getStackTrace()

參數

  • NA

返回值

此方法返回表示有關此拋出堆棧跟蹤堆棧跟蹤元素的數組。

異常

  • NA

例子

下麵的例子顯示java.lang.Throwable.getStackTrace()方法的使用。

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",15)
      };

      // sets the stack trace elements
      t.setStackTrace(trace);
      throw t;
   }
}

讓我們來編譯和運行上麵的程序,這將產生以下結果:

ClassName.methodName(fileName:15)