Java中的异常以及异常处理

什么是异常?

异常是程序在“编译”或者“运行”的过程中可能出现的问题。

异常分类

Java中的异常以及异常处理_第1张图片

Error:系统级别问题、JVM退出等,代码无法控制。

Exception:称为异常类,它表示程序本身可以处理的问题。

异常分为:编译期异常和运行期异常

Java中的异常以及异常处理_第2张图片

 异常的特点

编译期异常的特点

编译时异常:继承自Exception的异常或者其子类

编译阶段报错,必须处理,否则代码不通过。

运行期异常的特点

运行时异常:直接继承自RuntimeException的异常或者其子类

编译阶段不报错,运行可能报错。

异常处理

编译期异常处理

编译期异常的处理形式有三种:

1、出现异常直接抛出去给调用者,调用者也继续抛出去。

2、出现异常自己捕获处理,不麻烦别人。

3、前两者结合,出现异常直接抛出去给调用者,调用者捕获处理。

异常处理方式1 —— throws

throws:用在方法上,可以将方法内部出现的异常抛出去给本方法的调用者处理

这种处理方式并不好,发生异常的方法自己不处理异常,如果异常最终抛出去给虚拟机将引起程序死亡。

抛出异常格式:

 规范做法:

 当方法中出现很多个异常时,可以这样写;代表可以抛出一切异常

异常处理方式2 —— try…catch…

监视捕获异常,用在方法内部,可以将方法内部出现的异常直接捕获处理

格式:

Java中的异常以及异常处理_第3张图片

建议格式:

Java中的异常以及异常处理_第4张图片

处理方式3 —— 前两者结合 

 方法直接将异通过throws抛出去给调用者 ,调用者收到异常后直接捕获处理。

运行期异常处理

运行时异常编译阶段不会出错,是运行时才可能出错的,所以编译阶段不处理也可以。

按照规范建议还是处理:建议在最外层调用处集中捕获处理即可

如下:

Java中的异常以及异常处理_第5张图片

你可能感兴趣的:(Java,java,jvm,异常,Exception)