异常

 异常

 

什么是异常?Java代码在运行时期发生的问题就是异常。

编译时期发生的异常叫编译失败。

Java中,把异常信息封装成了一个类。当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置、原因等)。

 异常的继承体系

异常_第1张图片

 

 

 

 

 

 

Throwable类有两个子类 

 

1.错误Error 相当于癌症一旦发生不能处理 只能修改代码

 

2.异常Exception 相当于感冒 发生后是可以初音的

 

异常Exception又有两个子类一个是非RuntimeException 编译器是异常相当于感冒发生后可以处理

 

一个是RuntimeException 相当于癌症发生后 只能修改代码

 

 

 异常与错误的区别

异常:指程序在编译、运行期间发生了某种异常(XxxException),我们可以对异常进行具体的处理。若不处理异常,程序将会结束运行。

(一半可以处理,一半不能处理)

错误:指程序在运行期间发生了某种错误(XxxError),Error错误通常没有具体的处理方式,程序将会结束运行。

Error错误的发生往往都是系统级别的问题,都是jvm所在系统发生的,并反馈给jvm的。我们无法针对处理,只能修正代码。

(不能处理只能修改代码)

异常的产生过程解析

 

异常_第2张图片

 

 

抛出异常throw和声明异常throws

抛出异常:

throw new 异常类名(参数);

声明异常:

修饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2… {   }

异常_第3张图片

 

 捕获异常try…catch…finally

 异常_第4张图片

 

 异常_第5张图片

 

 try…catch…finally异常处理的组合方式

异常_第6张图片

 

 异常_第7张图片

 

 异常_第8张图片

 

 异常_第9张图片

 

 

 运行时期异常

 

l RuntimeException和他的所有子类异常,都属于运行时期异常。NullPointerException,ArrayIndexOutOfBoundsException等都属于运行时期异常.

 

 

运行时期异常的特点:

 

方法中抛出运行时期异常,方法定义中无需throws声明,调用者也无需处理此异常

 

运行时期异常一旦发生,需要程序人员修改源代码.

 

 

 

实例:

 

异常_第10张图片

 

 

异常中常用方法

 

异常_第11张图片

 

 一般都用第二种

你可能感兴趣的:(异常)