面试题

代码:

结果为:

原因:

  在try语句中,在执行return语句时,要返回的结果已经准备好了,就在此时,程序转到finally执行了。

  在转去之前,try中先把要返回的结果存放到不同于x的局部变量中去,执行完finally之后,在从中取出返回结果,

  因此,即使finally中对变量x进行了改变,但是不会影响返回结果。

  它应该使用栈保存返回值。

 

 

5种运行异常

  1.ArithmeticException - 算术运算中,被0除或模除

 

  2.ArrayIndexOutOfBoundsException - 数组越界访问

 

  3.ClassCastException - 类型转换异常

 

 

  4.NullPointerException - 空指针

 

 

  5.NumberFormatException - 数据格式异常

 

 

posted on 2018-03-06 13:57  ↑↑↓↓←→←→  阅读(146)  评论(0编辑  收藏  举报