- public class FinallyDemo2 {
- public static void main(String[] args) {
- int num = getNumber();
- System.out.println(num);
- }
- private static int getNumber() {
- int a = 10;
- try {
- a = 20;
- System.out.println(a / 0);
- } catch (ArithmeticException e) {
- a = 30;
- return a;//看到return后,就会在内存中形成一条返回路径,这个时候的值就是 return 30
- //但是,又看到了finally语句,所以就去执行了finally。
- //执行完毕finally后,就去把以前的返回路径继续走完。
- } finally {
- a = 40;
- //return a; //这是一条新的返回路径,return后是不能有东西执行的。
- }
- return a;
- }
- }你所说的面试题应该是这个!不是的话看看就可以了1
复制代码 |