init那个是干嘛的也没说
异常应该是要么用throws声明,要么用catch/throw语句包围,两者任选其一。test1中用的是throws,test2中用的是catch/throw。
1. Exception 包括 非检查性异常 RuntimeException 和检查性异常 如: IOException之类,
两种异常的区别
非检查性异常 及子类,程序中可以不处理,但是运行时会报异常.
检查性异常及子类,程序中必须处理,其它一样.
所以,RunTimeException异常是不需要throws的,程序中无需处理
2. initCause();定义原始异常,这里也就是说该运行时异常的原始异常:喝大了异常DrunkException
望采纳,谢谢
initCase()方法对异常进行包装,向上级处理的方法 ,也就是你在学习异常链用的
异常要么声明,要么抛出异常,不能同时声明和抛出异常。