课程
/后端开发
/Java
/Java入门第三季
init那个是干嘛的也没说
2016-12-19
源自:Java入门第三季 1-7
正在回答
异常应该是要么用throws声明,要么用catch/throw语句包围,两者任选其一。test1中用的是throws,test2中用的是catch/throw。
1. Exception 包括 非检查性异常 RuntimeException 和检查性异常 如: IOException之类, 两种异常的区别 非检查性异常 及子类,程序中可以不处理,但是运行时会报异常. 检查性异常及子类,程序中必须处理,其它一样. 所以,RunTimeException异常是不需要throws的,程序中无需处理
2. initCause();定义原始异常,这里也就是说该运行时异常的原始异常:喝大了异常DrunkException
望采纳,谢谢
慕娘3836954
落叶萧萧online
initCase()方法对异常进行包装,向上级处理的方法 ,也就是你在学习异常链用的
异常要么声明,要么抛出异常,不能同时声明和抛出异常。
qq_阴天子_04410108
WGJ 回复 qq_阴天子_04410108
落叶萧萧online 回复 WGJ
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
7 回答这节中 chainTest 类的 test2() 方法 throw 了一个 RuntimeException 异常,为什么它不用 throws 声明?
3 回答请问test2() throw 的RuntimeException 为什么不需要test2() throws Exception 声明抛出异常?
10 回答test2方法没有声明异常抛出,为什么编译器还能通过?
5 回答方法内的异常被throw,方法还需要throws吗?
4 回答为什么test2()不需要 throws ?