try{
有可能出现异常的语句;
}[catch (异常类型 异常对象){
}...](catch可以写多个)
[finally{
异常的出口
}]
try代码块中放的是可能出现异常的代码。
catch代码块中放的是出现异常后的处理行为。
finally代码块中的代码用于处理善后工作,会在最后执行。
其中catch和finally都可以根据情况选择加或者不加。
程序先执行try中的代码。
如果try中的代码出现异常,就会结束try中的代码,看和catch中的异常类型是否匹配。
如果找到匹配的异常类型,就会执行catch中的代码。
如果没有找到匹配的异常类型,就会将异常向上传递到上层调用者。
无论是否找到匹配的异常类型,finally中的代码都会被执行到(在该方法结束之前执行)。
如果上层调用者也没有处理该异常,就会继续向上传递。
如果一直到main方法也没有合适的代码处理异常,就会交给JVM来进行处理,此时程序就会异常终止。