ITmob-Ly
发布于 2023-06-19 / 201 阅读
0

Kotlin/Java 打印调用栈

使用 Exception.printStackTrace()

try {
    val division = 0 / 0
} catch (e: ArithmeticException) {
    e.printStackTrace()
}

处理异常时,可以通过 Exception 的 printStackTrace() 方法打印调用栈。

使用 Thread.getStackTrace()

fun Thread.printStackTrace() {
    for (element in stackTrace) {
        println(element)
    }
}

使用 Kotlin 时可以为 Thread 定义一个扩展函数输出调用栈,方便使用:

Thread.currentThread().printStackTrace()

在 Java 中使用 Thread 打印调用栈:

public static void printStackTrace() {
    for (StackTraceElement e : Thread.currentThread().getStackTrace()) {
        System.out.println(e);
    }
}