异常高级

*****************************异常笔记********************

 

****什么是异常
什么是异常处理机制
异常处理机制的5个关键字以及各自的特点
4 try catch finally throw throws
可以声明多个。
5.异常链
6自定义异常类

集成runtimeexception
throwexception
throwsexception

 

异常的概念:

  异常是指程序在运行过程中所发生的不正常的

异常:程序在运行过程中发生由于外部问题(如硬件错误、输入错误)等导致的程序异常事件。

捕获:

通过try…catch语句进行捕获异常。

通过throw抛出异常,throws向上一级调用方法抛出异常。

异常的常见例子:有内存分配不足、数组下标越界、运算溢出或除数为零。

 

 

异常都是从类Throwable类派生出来的,而Throwable类是直接从Object类继承而来,可见Java对异常处理的重视程度。

Error:系统内部错误,这类错误由系统进行处理,程序本身无需捕获处理;

Exception(可以处理的异常)

RuntimeException:可以捕获,也可以不捕获的异常。

继承Exception的其他类:必须被捕获的Exception,查阅API帮助中方法后面会有说明此方法抛出哪些异常,这些异常必须被捕获。

在你的程序在某一个地方出现了一个异常

try
catch
finally

throw
throws
Throwable 父类

受查异常(checked Exception)在程序编译期间产生的异常!

在你的程序在某一个地方出现了一个异常

try
catch
finally

throw
throws
Throwable 父类

受查异常(checked Exception)在程序编译期间产生的异常!

运行异常(RuntimException)

try必须和catch或finally

try(){
//只放有可能出现异常的地方

return;
}

Apprithmiter算数异常
throw 和throws

throw 一定要小于或者是等于

checked exception(受查异常),也称非运行时异常(运行时异常以外的异常就是非运行时异常),由代码能力之外的因素导致的运行时错误。java编译器强制程序员必须进行捕获处理,比如常见的有IOExeption和SQLException。如果不进行捕获或者抛出声明处理,编译都不会通过。

 

 

异常的使用:

 

 

Try

1.try块中放可能发生异常的代码;

 

02.try不能单独使用,必须和catch或者finally中的其中一个联合使用;

 

03.如果执行完try并且不发生异常,则接着去执行finally代码块和finally后面的代码;

     如果没有finally代码块,则直接执行catch之后的代码;

 

04.如果发生异常,则尝试去匹配对应异常的catch代码块。

 

 

Catch:

01.每一个catch块用于捕获并处理一个特定的异常,或者这异常类型的子类。

02.catch后面的括号定义了异常类型和异常参数。

 

03.如果异常与之匹配且是最先匹配到的,则虚拟机将使用这个catch块来处理异常。

 

04.可以书写多个catch代码块!顺序必须是按照异常类型从小到大!

 

 

 

 

 

自定义异常:

 

属于自定义异常

 

原文地址:https://www.cnblogs.com/hualishu/p/9256787.html