日期:2014-05-20  浏览次数:20769 次

关于try catch代码块里到底哪里需要return的问题求指教
代码一:
public int test() {
  int num = 1;
  try{
  return num;
  }finally{
  num = 2;
  }
  return 3;
  }

代码二
public class ExceptionTest{
  public double div(double a, double b){
  try{
  return a/b;
  }catch(Exception e){
  System.out.println(“Exception thrown”);
  }finally{
  System.out.println(“Release resources.”);
}
}

  public static void main(String[] args){
  ExceptionTest et = new ExceptionTest();
  et.div(1, 2);
  et.div(3.4, 0);
  }
  }
请教下 出错的原因和如何纠正 !

------解决方案--------------------
代码一:根本执行不到return 3,去掉return 3
代码二:如果a/b产生异常,将不会return,div函数返回类型是double,故必须有return值。在catch,finally,函数最后加都可以