学习笔记(异常)

                            异常

    java把一些异常情况封装在一个类当中!
    主要分两种情况:
    Throwable
           Error :一些重大比较严重的问题异常!Jvm虚拟机出现问题
           Exception :一些中度比较常见的问题异常(算术异常、数组下标越界、等)
           getMessage();打印异常信息
           toString();打印异常信息以及异常类型
           printStackTrace();打印异常信息、异常类型、以及行号、
    处理办法:
   try{
        
            可能出现异常的代码    
    } catch(①异常类型 e){
            处理异常的办法一般解决办法:打印异常信息
            调用Trowable下边的方法
    }
    try{
             可能出现异常的代码
            
    }catch( 异常类型  e ){
             处理异常的办法一般解决办法:打印异常信息
            调用Trowable下边的方法
    }finally{
            一定会执行的代码
            释放系统资源、释放锁
            一般不建议放return语句
    }
    处理流程:
    程序从try语句块开始执行:当try语句中的某一行代码块出现了异常、
此时会产生一个异常对象,会立即执行catch(){}代码块,finally里的语句块 一定会执行!只有一种例外情况(退出虚拟机)
         处理异常的代码块中必须有try{},
    try{}catch()catch(){}...可以出现多个catch(){}
    选择性的处理可能出现的异常 ③
    try{}catch(){}finally{} 此处finally也可以省略
    ①此处的异常类型可以使try{}中异常对象的父类(Exception)或者和相同的类型 **注意当此处为Exception时,因为它是所有的异常的父类所以他可以处理所以的异常,再不会在进入其他catch(){}代码块中,一般来说Exception放在最后一个catch(){}中
    ②执行方式为 处理异常的办法:
    打印异常信息   调用Trowable中的方法
    ③try{}语句块出现异常时,他会根据catch(){}中的异常类型进行匹配当匹配成功后,他会进入到当前catch(){}代码块中进行执行, 一旦其中有一异常对象进行处理了,那么不会再执行其他的代码块! 
      
throws
throw
语法:
访问修饰符 返回值类型
方法名()throws 异常类型1,异常类型2,{方法体}
表示此方法值中可能有1或2类型的异常可以结合throw来使用!
申明不需要处理的异常类型为1,2.
方法内部:用于抛出具体的异常类的对象!
后面只能跟一个异常类型实体。
   
编译时异常、
Checked异常:
在Excpetion类型下所有子类中除了RunTimeException这个分支的所以异常类型
必须得到处理:用try{}catch(){}语句块或者throws抛出
否则编译报错!程序无法运行!

运行时异常
Runtime异常:
不会再编译时被检测出,可以称之为运行时异常。runtimeException这和异常类以及他下面的所有子类
编译时不处理也不会报错,但会出现异常、要求处理!

自定义异常:

当我们在编写程序时会发现Exception的异常类型满足不了我们的需求是,此时我们便需要自己编写一个异常来继承Excpetion;
      (第一次将自己的笔记上传)

你可能感兴趣的:(JavaEE基础)