gpt4 book ai didi

java - 为什么我在创建自己的异常时得到一个空的堆栈跟踪?

转载 作者:行者123 更新时间:2023-12-03 10:17:18 24 4
gpt4 key购买 nike

我正在继承 Exception 类来创建我自己的异常。类似于下面的代码

public class ApplicationException extends Exception {
ApplicationException(String errorMessage) {
super(errorMessage);
}
}

问题是堆栈跟踪总是空的。下面的代码不会向控制台写入任何内容。

ApplicationException(String errorMessage) {
super(errorMessage);
System.out.println(this.getStackTrace());
}

我不明白为什么它是空的,因为 Throwable(String) 正在调用 fillInStackTrace 方法。有没有办法填写 Stack 还是我应该做的其他事情?

最佳答案

堆栈跟踪不为空。只是它是一个数组,数组的默认 toString() 不显示它的元素,只显示它的类名和 hashCode(例如,[Ljava.lang.StackTraceElement;@ b0cf5f).调用:

this.printStackTrace();

或者遍历数组并手动显示其内容,您将看到堆栈跟踪。

关于java - 为什么我在创建自己的异常时得到一个空的堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23833380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com