大咪
initCause
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教你一个方法,去网上下载API文档,当你遇到不懂的方法体是直接去查API,API上写得非常详细,当然你要是看不懂的话,可以在问问 。。养成这个好习惯挺重要的。。说重点在简化一下啊,initCause()的作用你可以理解成是保存原始的异常,当你想要知道底层发生了什么异常的时候调用getCause()就能够获得原始异常。说白了就是出了问题的时候如果你的异常用的这个方法处理,通过getCause可以看到更底层的异常代码,就是这么多的,没其他什么了..