try... catc处理异常的标准格式:
try {
可能出现异常的代码;
} catch(异常类名 变量名) {
异常的处理代码;
}
执行流程:
-
程序从 try 里面的代码开始执行
-
出现异常,就会跳转到对应的 catch 里面去执行
-
执行完毕之后,程序还可以继续往下执行
来看一下例子:
输出结果为:
由此验证,当出现异常时会直接跳转到catch中执行代码。
再来看看catch嵌套:
输出结果为:
我们发现之执行了内层catch没有执行外层。
把内层注释掉再查看结果:
总结:
try catch嵌套,内层不能捕获时,会考虑外层内否捕获,内层能捕获,则外层catch不执行。