zoukankan      html  css  js  c++  java
  • 异常

    什么是异常:

      异常就是在程序运行过程中发生的不正常事件如所需文件找不到,网络连接不通或者中断.算术运算出错,数组下标越界等.异常还会中断正在运行的程序.

    异常处理:

      异常处理是通过五个关键字实现的:try,catch,finally,throw,throws

      ry-catch执行流程比较简单,首先执行try语句块中的语句.可能会出现以下几种情况,

      

      1.如果try中所有的语句正常执行完毕,不会发生异常,那么catch块中的语句都会被忽略.

               

      2.如果try中的语句在运行过程中发生异常,并且异常与catch中声明的异常类型匹配那么try中其余的代码将被会略,而相应的catch块将被执行

       

      3.如果try中的语句在运行过程中发生异常,但是抛出的异常没有在catch声明,那么程序立刻退出

        (将上面的算术异常替换为了空指针异常因此异常无法匹配)

        

                

      

        

      

     面试题

      多重catch

      

      当出现多个catch块时,当和对应异常类型匹配时,其他catch块不会再走.并且catch的排列顺序是按照异常高低程度排序的,顶级异常一定在最下面

      finally不执行的情况

      在没有意外情况发生的情况下无论是否有异常finally块都会执行,但有以下情况不执行

      1.Java虚拟机终止

      2.线程终止

      

       

    结果为:

    原因:

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

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

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

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

  • 相关阅读:
    ZOJ
    Clock(数学题)
    The Lucky Week(规律)
    POJ 3233 Matrix Power Series
    POJ 1061 青蛙的约会(扩展欧几里德算法)
    2266: number
    2263: neighbor
    2269: minval(优先队列)
    HDU
    Problem 2150 Fire Game (广搜+枚举)
  • 原文地址:https://www.cnblogs.com/yzwss/p/8514041.html
Copyright © 2011-2022 走看看