面试题
代码:

结果为:

原因:
在try语句中,在执行return语句时,要返回的结果已经准备好了,就在此时,程序转到finally执行了。
在转去之前,try中先把要返回的结果存放到不同于x的局部变量中去,执行完finally之后,在从中取出返回结果,
因此,即使finally中对变量x进行了改变,但是不会影响返回结果。
它应该使用栈保存返回值。
5种运行异常
1.ArithmeticException - 算术运算中,被0除或模除

2.ArrayIndexOutOfBoundsException - 数组越界访问

3.ClassCastException - 类型转换异常

4.NullPointerException - 空指针

5.NumberFormatException - 数据格式异常
