public class ExceptionText5 {
public static void main(String[] args) {
int result = m();
System.out.println(result);//结果为100
}
public static int m(){
int i = 100;
try {
//这行代码出现在int i = 100的下面,所以最终结果必须是返回100
//return语句还必须保证是最后执行的。一但执行,整个方法结束。
return i;
}finally {
i++;
}
}
}
最后的结果为 100
:
解释: Java语法中有这样一条规则:
- 方法体中的代码必须遵循自上而下顺序依次逐行执行(亘古不变的语法!)
Java中还有一条语法规则:
- return语句一但执行,整个方法必须结束(亘古不变的语法!)
反编译之后的结果:
public static int m(){
int i = 100;
int j = i;
i++;
return j;
Exception exception;
exception;
i++;
throws exception;
}