package com.vip.day1707;
/**
* 此类测试 try catch finally return 的使用
* @author wide288
* @since 2017-8-29
*/
public class Test0829 {
public Integer Test0829T() {
String ii = "测试";
Integer i = 0;
try {
System.out.println("try");
i = Integer.valueOf(ii);
return i;
}catch(NumberFormatException e) {
System.out.println("catch NumberFormatException");
return -1;
}finally{
System.out.println("finally");
return -2;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Test0829 t = new Test0829();
System.out.println( t.Test0829T() );
}
}
打印输出是:
try
catch
NumberFormatException
finally
-2
所以看出要是finally 中有 return ,catch 中的 return 就无效了。我最近使用的一个框架就这么干的,弄的我的返回值无效。
所以 catch 中还是少写 return 为好。因为不知道那里写个 finally 带 return 就死了。
相关: