java - 在 java 中,为什么自定义异常也应该有一个参数为 'Throwable cause' 的构造函数

标签 java exception

谁能解释一下为什么我们在定义自定义异常时应该有如下构造函数:

public MyException(Throwable cause) {
    super(cause);
}

public MyException(String message, Throwable cause) {
    super(message, cause);
}

最佳答案

它允许您将有关抛出该异常的原因的信息添加到您的自定义异常实例中。

当您捕获一个异常并抛出另一个异常时,它很有用。

例如:

try {
    ....
}
catch (SomeException ex) {
    throw new MyException ("some message", ex);
}

关于java - 在 java 中,为什么自定义异常也应该有一个参数为 'Throwable cause' 的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30047584/

相关文章:

c# Windows 窗体应用程序在错误后使进程继续运行

java - 如果在 JSF 中有条件

java - log4j 日志未写入文件的问题

java - 声明要在数组中使用的枚举?

java - 是否存在基于 AspectJ 的分析器包?

java - Jackson JSON 解析器无效的 utf-8 起始字节

java - 在 View 之间导航后,组件未正确加载

java - Java 和 Hibernate 中的 ArrayIndexOutOfBoundsException

java - 如何在tomcat的catalina.out中使用Spring MVC获取错误消息

java - 输入不匹配异常