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);
    }
}

作者:ITmob
来源:ITmob.cn
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×