2019-08-08

 高级编程---- 异常体系

什么是异常  : 

不正常,Java程序在运行或者编译的过程中所出现的问题,称之为异常,也称之为bug ;

异常:  【Exception】:程序在运行的过程中 产生不正常的现象,但是通过相关手段修复之后(定义异常的处理),  不影响程序的正常执行;

   运行时异常 【非受检异常】 : 在编译期 不能别检测到,但是会在运行期发生;

 在java 的异常体系中,RuntimeException 类及其子类,都是运行时异常,这类异常可以不抛出异常;


  编译时异常 【受检异常】: 在编译期间就能够被发现;  java 异常体系中 除了了RuntimeEecption 及其子类,其他都是编译时异常类;

 





错误 【error】 : 程序在运行的时候所出现的 特别重大的异常, 无法修复  导致无法运行;

他们两个的老大 Throwable(类) : 所有异常和错误的父类,自定义的类只有继承了此类,才能作为异常类进行使用;



处理异常

1.  将异常在方法上声明:  【throws】 关键字,声明给方法的调用者看,提示可能会出现异常;

2. 使用try {} catch() [finally]{}     可以终止程序的执行;  将有可能发生的代码块 包裹起来;

try  存放 有可能的异常的代码块;     当java 代码发生异常之后: jvm 会创建一个关于此类异常类的对象;

catch 里面 需要做针对性的处理:     Exception ----> ArrylistException     可以有多个catch 处理这个异常;


catch 中的 只有在异常的情况下,才会执行;   return  a++ ;  是先 执行a++ 然后再return  ;


final的   不管怎么样都会执行;





运行时异常 不需要显示的处理(就是抛出)  jvm 会一步一步的向上抛出,直至将异常抛给此类的执行者;

对于受检异常,在编写代码的时候,就必须做针对性的处理;  继续一直抛可以或者使用try - cath  代码块处理该异常;



产生了一个异常 就会开始处理, 其他的就不会再异常;


自定义异常 : 只用自定义了 才可以抛出; 

自定义的类 继承了Exception类之后 ,变成受检异常;

自定义的类 继承Runception 类之后,会变成 非受检异常;


方式:  1.  继承 Throwable 类;

            2. 继承 Exception 类;

 


异常分类



异常断言

你可能感兴趣的:(2019-08-08)