一,try语句块含有可能出错的语句代码,可能会抛出一个或多个异常。因此,try后面可能跟多个catch语句。当try语句块没有发生异常时,catch语句不执行。
catch用来捕获异常,捕获异常的过程中,要和try语句抛出的异常类型一样,若相同,再执行。
finally 是语句块的统一出口,一般用来善后操作,释放文件,关闭文件等。它是可选部分,一旦选定必定执行。
二,Finally一定执行,finally后的语句是不是执行取决于try或catch里面是否有return语句,如果有则不执行。
例如:
try{
return 10;
}
catch{ }
finally{return 20;}
return 30;
...........
结果: 执行finally内语句return 20;
int n;
try{n=10;
return n;}
catch{ }
finally { n=30;}
结果:当n是值的时候
return 10;
当n是对象是
return 30;