Java教程

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)

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4