关于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,函数最后加都可以