异常讲解

一、异常:程序在运行过程中出现的不正常的情况.

二、异常的由来:程序在运行过程中出现了不正常的情况,程序把它看成了对象,提取了属性,行为(异常的原因,位          置,名字),形成了各种的异常类

三、异常:Throwable
       ①分类:Error(错误):运行中出现的严重问题,不需要写代码处理
       ②Exception(异常):出现的不严重的问题,可以写代码处理

           Exception的分类:
             系统异常
             自定义异常    

四、异常的特点:当程序出现异常的时候,会打印异常信息并中断程序.
         所以当程序中同时出现两个异常的时候,默认只会执行第一个.第二个无法执行到. 

五、对异常的处理:检测异常,捕获异常,让异常不影响正常代码的执行
     try{
            可能出现异常的代码
     }catch(Exception e){//捕获异常  e就是要捕获的异常
              对出现异常代码的处理过程
    }
     继续执行下面的代码

六、对异常的另一种分类:
     * 根据异常发生的位置
     * 编译异常:在编译阶段就要求处理
     * 运行时异常(RuntimeException):在运行阶段再要求处理:除数为零异常,空指针异常,数组下标越界异常
     
     * 处理异常的手段:
         * 第一种:异常的声明
             * 异常声明后,调用者去处理,调用者不处理,继续声明直到交给JVM
         * 第二种:trycatch
    
     * 注意:这里讲的除数为零的异常是运行时异常,不需要手动进行异常的声明,系统帮他做了.我们这里只是为了         讲解异常的声明,所以假设这里是编译异常.
    
     * 让谁去处理异常比较合适?
         * 谁调用可能出现异常的方法,谁负责处理异常    

七、finally关键字

        try{
            可能出现异常的代码
        }catch(){
             对异常的处理
        }finally{
            必须执行的代码        作用:在使用多线程的时候,使用数据库的时候,使用流的时候
         }
    
    
    注意点:他与异常无关
    try{
            获取资源
     }finally{
         释放资源

}

八、自定义异常:    由于Exception内部有异常的基本内容,所以直接继承Exception即可
 
      什么样的问题需要我们自定义异常?
         答:系统没有定义的异常,需要我们自己定义,我们解决的是系统异常没有处理的问题
    
    实例:除数为负数异常     订单异常   用户信息异常

    分析:1.自定义异常类
     2.在进行除法运算的时候,自己抛出异常
     3.去处理自定义异常
    
     注意:对于编译异常,系统什么都不管,所有工作都需要我们自己做(异常的抛出,异常的处理,异常的声明等)

转载于:https://my.oschina.net/u/3174809/blog/1828391

你可能感兴趣的:(数据库)