课程
/后端开发
/Java
/Java入门第三季
用main方法执行test2()时,test2()先执行test1(),不是应该先抛出DrunkException,再捕捉test2()的异常吗?
2016-08-04
源自:Java入门第三季 1-7
正在回答
确实是执行了,但这个异常被包装了,main方法执行test2()就是在找test2()的异常,test2()再找test1()的异常。用慕课中的例子解释就是醉酒驾驶,车祸和人员伤亡,导致人员伤亡的是车祸,所以先找到车祸,再去找醉酒驾驶。抛出异常应该找他的直接原因。
qq_顶着西瓜皮的籽_03776560 提问者
春风十里不如你3 回复 qq_顶着西瓜皮的籽_03776560 提问者
test2()会抛出异常,那为什么不声明成public void test2() throw Exception呢
test2()捕获test1()异常后,将其包装成了另一个异常,所以用main方法执行test2()后,应抛出包装后的异常。
金乘三 回复 qq_顶着西瓜皮的籽_03776560 提问者
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
3 回答抛出异常编译问题
1 回答异常的抛出
1 回答抛出不了异常。
2 回答JAVA抛出异常和自定义异常
1 回答抛出异常的原因