面试题
代码:
结果为:
原因:
在try语句中,在执行return语句时,要返回的结果已经准备好了,就在此时,程序转到finally执行了。
在转去之前,try中先把要返回的结果存放到不同于x的局部变量中去,执行完finally之后,在从中取出返回结果,
因此,即使finally中对变量x进行了改变,但是不会影响返回结果。
它应该使用栈保存返回值。
5种运行异常
1.ArithmeticException - 算术运算中,被0除或模除
2.ArrayIndexOutOfBoundsException - 数组越界访问
3.ClassCastException - 类型转换异常
4.NullPointerException - 空指针
5.NumberFormatException - 数据格式异常