异常小结

异常:就是错误
JVM对异常的处理方式有:
    致命问题:Error
    异常:Exception

异常处理格式
    try{
               有可能出现问题的代码;
    }catch(异常对象){
               异常处理
    }
执行流程:
    如果没有问题,就执行到底
    如果try中代码出现了问题,就执行异常处理后的代码,注意,是直接将处理后的代码插入那个出现问题的地方的代码处

抛出异常:将有可能出现的异常抛出交给JVM处理,这里不是暴力处理异常,所以程序继续执行

多个异常的话使用多个catch进行处理
    1.多个catch之间有子父级关系(即异常对象之间有子父级关系)
    2.平级之间没有子父级关系
    3.如果有子父级关系,那么父级点的异常在后面
    4.前面的异常执行了,后面的异常不会执行

异常接口的常用方法
    String getMessage();获取异常原因
    String toString();获取异常类型以及原因
    void printStackTrace();获取异常的位置,类型以及原因


throw的代码如果执行了,则不执行之后的代码

1.抛出异常并不是解决问题,而是让别人知道这里是错的
2.throw和throws都是消极的处理异常的方式,不是说不好,而是,这两个只是抛出或者可能抛出异常,但是并不会由函数去处理异常,真正处理异常的是由上层调用处理
3.良好的方式是用try{}catch(){}去 处理,catch后面的{}里不管怎么样都要写点东西,哪怕是一句输出,一个printStackTrace()
4.如果是捕捉io流的异常,一定要在catch(){}后添加一个finally{}把流关闭。换句话说,如果有需要关闭流的情况下,后面都要加finally
5.如果try内出现了异常,那么异常之后的语句都不执行,直接执行catch内的东西

posted @ 2018-02-12 22:32  Shuu_丶  阅读(104)  评论(0编辑  收藏  举报