線程類的 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 getState()用法及代碼示例
- Java Thread getContextClassLoader()用法及代碼示例
- Java Thread getThreadGroup()用法及代碼示例
- Java Thread getId()用法及代碼示例
- Java Thread getDefaultUncaughtExceptionHandler()用法及代碼示例
- Java Thread getName()用法及代碼示例
- Java Thread getPriority()用法及代碼示例
- Java Thread toString()用法及代碼示例
- Java Thread interrupted()用法及代碼示例
- Java Thread setDefaultUncaughtExceptionHandler()用法及代碼示例
- Java Thread suspend()用法及代碼示例
- Java Thread destroy()用法及代碼示例
- Java Thread holdLock()用法及代碼示例
- Java Thread setContextClassLoader()用法及代碼示例
- Java Thread sleep()用法及代碼示例
- Java Thread isInterrupted()用法及代碼示例
- Java Thread enumerate()用法及代碼示例
- Java Thread notify()用法及代碼示例
- Java Thread resume()用法及代碼示例
- Java Thread activeCount()用法及代碼示例
注:本文由純淨天空篩選整理自 Java Thread getStackTrace() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。