1700448854
编写高质量代码:改善Java程序的151个建议 建议113:不要在finally块中处理返回值
1700448855
1700448856
在finally代码块中处理返回值,这是考试和面试中经常出现的题目。虽然可以以此来出考试题,但在项目中绝对不能在finally代码块中出现return语句,这是因为这种处理方式非常容易产生“误解”,会严重误导开发者。例如如下代码:
1700448857
1700448858
public static void main(String[]args){
1700448859
1700448860
try{
1700448861
1700448862
doStuff(-1);
1700448863
1700448864
doStuff(100);
1700448865
1700448866
}catch(Exception e){
1700448867
1700448868
System.out.println(“这里是永远都不会到达的”);
1700448869
1700448870
}
1700448871
1700448872
}
1700448873
1700448874
//该方法抛出受检异常
1700448875
1700448876
public static int doStuff(int_p)throws Exception{
1700448877
1700448878
try{
1700448879
1700448880
if(_p<0){
1700448881
1700448882
throw new DataFormatException(“数据格式错误”);
1700448883
1700448884
}else{
1700448885
1700448886
return_p;
1700448887
1700448888
}
1700448889
1700448890
}catch(Exception e){
1700448891
1700448892
//异常处理
1700448893
1700448894
throw e;
1700448895
1700448896
}finally{
1700448897
1700448898
return-1;
1700448899
1700448900
}
1700448901
1700448902
}
[
上一页 ]
[ :1.700448853e+09 ]
[
下一页 ]