【发布时间】:2013-08-31 01:48:44
【问题描述】:
我有以下代码。
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
System.out.println("Hardik::"+testFinnalyBlock());
}catch(Exception e){
System.out.println("hhh");
}
}
public static int testFinnalyBlock() throws Exception{
int a=5,b=10;
int sum=0;
try{
sum = a+b;
System.out.println("sum==="+sum);
return sum;
}catch(Exception e){
System.out.println("In Catch");
}finally{
sum = a+30;
System.out.println("sum==="+sum);
// return 1;
}
return 1;
}
上面代码的输出吧 哈迪克::15, 虽然我认为应该是 Hardik::35。
谁能告诉我它是如何工作的。 谢谢。
【问题讨论】:
-
移除返回总和;从尝试块
-
实际上从try中去掉return sum,把return 1改成return sum。
标签: java