自己运行这个代码试试:
- class ExceptionTest
- {
- public static void main(String[] args)
- {
- int n = fun(2);
- System.out.println("打印fun()函数返回的n值= "+n);
- }
- public static int fun(int i)
- {
- try
- {
- int m= i/0;
- return i++;
- }
-
- catch (ArithmeticException e)
- {
- System.out.println("异常信息:"+e);
- System.out.println("catch 中的i = "+i);
- return i+3; //返回的是 2+3, 而不是finally中对i的赋值再来加上3,
- //finally中对i的操作,不会影响此时catch中的return i+3
- }
-
- finally
- {
- i++;
- i++;
- System.out.println("finally 执行 "+i);
- //return i+8; //如果这里没注释
- //这里会返回12,而不会去返回catch中的 return i+3
- }
- }
- }
复制代码 |