线程类的 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。