newExc.initCause(e); 什么意思?
把 e 这个异常结果放进 RuntimeException 运行时异常里面,从而异常抛出 知道是哪里错误,并且是由于什么异常引起这个错误,initCause() 可以追溯到源头,可以链式查看,从而更快定位到错误。
当前老师如果有事或者身体不舒服等特殊情况的时候,会找其他老师客串一下,以免耽误课程上线的时间好吧,这答案其实是@PengCheng鹏程老师告诉我的。为他点赞,么么哒~
谢谢!
public Throwable initCause(Throwable cause)
将此 throwable 的 cause 初始化为指定值。(该 Cause 是导致抛出此 throwable 的throwable。)
此方法至多可以调用一次。此方法通常从构造方法中调用,或者在创建 throwable 后立即调用。如果此 throwable 通过 Throwable(Throwable)
或 Throwable(String,Throwable)
创建,此方法甚至一次也不能调用。
参数:
cause
- 原因(保存此 cause,以便以后通过 getCause()
方法检索它)。(允许 null 值,指出 cause 是不存在的或是未知的。)
返回:
对此 Throwable
实例的引用。
抛出:
IllegalArgumentException
- 如果 cause
是此 throwable。(throwable 不能是它自己的 cause。)
IllegalStateException
- 如果此 throwable 通过 Throwable(Throwable)
或 Throwable(String,Throwable)
创建,或者此方法已经在此 throwable 上进行调用。
从以下版本开始:
1.4