java 不要在 catch 中 return

来源:互联网 发布:ubuntu和windows比较 编辑:程序博客网 时间:2024/05/22 11:39
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
catchNumberFormatException
finally
-2

所以看出要是finally 中有 return ,catch 中的 return 就无效了。我最近使用的一个框架就这么干的,弄的我的返回值无效。
所以 catch 中还是少写 return 为好。因为不知道那里写个 finally 带 return 就死了。

相关:
http://blog.csdn.net/zollty/article/details/7884670
http://www.cnblogs.com/wangzheand/p/5424912.html

原创粉丝点击