首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Throwable cause的使用

先来看一下API中对cause的解释: Throwable 包含了其线程创建时线程执行堆栈的快照。它还包含了给出有关错误更多信息的消息字符串。...最后,它还可以包含 cause(原因):另一个导致此 throwable 抛出的 throwable。此 cause 设施在 1.4 版本中首次出现。...它也称为异常链 设施,因为 cause 自身也会有 cause,依此类推,就形成了异常链,每个异常都是由另一个异常引起的。...导致 throwable cause 的一个理由是,抛出它的类构建在低层抽象之中,而高层操作由于低层操作的失败而失败。...导致 throwable cause 的另一个 cause 是,抛出它的方法必须符合通用接口,而通用接口不允许方法直接抛出 cause

1.8K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JDK错误用法——throwable.getCause

    这就找到问题的关键了,如图,原来的代码使用了 event.getCause()方法,event 是 Throwable 类型。查看该方法: ?...可以看到源码是判断 cause 和自身是否相等,如果相等则返回 null,如果不等则返回 cause; 注释的意思是:如果它的”cause“存在则返回这个异常的”cause“,否则返回空(”cause“...是”throwable 发生的原因“)这个方法返回了由其他几个以 Throwable 类型参数的构造方法,或者”initCause(Throwable)“方法设置的”cause“。...这适用于将异常原因加到”Throwable“所形成的的“遗留链式抛出”。注意,所有调用 getCause 方法来确定抛出的原因的 PrintStackTrace 方法不需要重写。

    66810
    领券