當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Thread getStackTrace()用法及代碼示例


線程類的 getStackTrace() 方法返回一個堆棧跟蹤元素數組,表示線程的堆棧轉儲。數組的第一個元素表示堆棧的頂部,它是序列中的最後一個方法調用。數組的最後一個元素表示堆棧的底部,這是序列中的第一個方法調用。

用法

public StackTraceElement[] getStackTrace()

返回

它是一個 StackTraceElement 數組,每個代表一個堆棧幀。

異常

SecurityException:如果安全管理器存在且其 checkPermission 方法不允許獲取線程的堆棧跟蹤,則會引發此異常。

示例

public class JavaGetStackTraceExp 
{
    public static void main(String args[]) 
    {
    first();
    } 
    public static void first()
    {
        second();
    }
    public static void second() 
    {
        third();
    }
    public static void third() 
    {
        StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
        System.out.println("Displaying Stack trace using StackTraceElement in Java");
        for(StackTraceElement st:stackTrace)
        {
            // print the stack trace 
            System.out.println(st);
        }
    }
}

輸出:

Displaying Stack trace using StackTraceElement in Java
java.lang.Thread.getStackTrace(Thread.java:1559)
JavaGetStackTraceExp.third(JavaGetStackTraceExp.java:17)
JavaGetStackTraceExp.second(JavaGetStackTraceExp.java:13)
JavaGetStackTraceExp.first(JavaGetStackTraceExp.java:9)
JavaGetStackTraceExp.main(JavaGetStackTraceExp.java:5)






相關用法


注:本文由純淨天空篩選整理自 Java Thread getStackTrace() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。