捕获异常为什么要从小到大
发布网友
发布时间:2024-02-09 21:48
我来回答
共3个回答
热心网友
时间:2024-02-10 00:40
通俗点举例吧。
假设我们有异常 世界(EXCEPTION),然后包含了中国(RUNTIMEEXCEPTION),中国包含了浙江(NULLPOINTEXCEPTION)等,那你捕获的时候,如果直接捕获世界,那么所有的异常都有了,这么写是没有问题的。
但是如果你想对浙江特殊处理呢?那肯定就先捕获浙江 catch(浙江){做些什么}
然后再捕获中国(做些什么)
最后捕获世界(做些什么)
这样写起来更清楚些不是么?其实直接捕获一个大的也没什么,里面也能取到异常的类型,只不过分开写更清晰些。
希望对你有帮助,不明白再追问哦。
热心网友
时间:2024-02-10 00:40
catch是逐一匹配的,大的捕获了,小的就不可能捕获到了。
热心网友
时间:2024-02-10 00:41
这是为了更有效率。
如果你先大的再小的。
那么那个小的就一定捕获不到了
而且如果你用大的,也会浪费时间追问那我不管什么异常都Exception的话也不会出错。而且还节省代码?为什么不这样做呢???
追答但是你要考虑效率问题
都用Exception,可能要0.5秒,而用小的,可能只要0.2秒
不要小看这零点几秒,在编程过程中可是很重要的