专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java中的异常处理机制的简单原理?

Java中的异常处理机制的简单原理?

更新时间:2020-08-11 16:52:24 来源:赢咖4 浏览1855次

1:java常见异常架构图

java异常处理机制

1、粉红色的是受检查异常(checked exception),其必须被try{}catch语句块所捕获,或者在方法签名里通过throws子句声明抛出,因为Java编译器要进行检查,Java虚拟机也要进行检查,以确保遵守这个规则,如果不进行处理会报错。

运行时异常(runtime exception),需要程序员自己分析代码决定是否捕获和处理。

Error,属于严重错误,一般指与虚拟机相关的问题,如系统崩溃、虚拟机报错、动态链接失败等。无法通过程序编译时进行捕获和处理,需要根据业务信息进行特殊处理,Error不需要捕获。

2、try{}里有一个return语句,那么紧跟在try后的finally{},先于return执行。只有try{}语句中使用System.exit(),时finally语句才不会被执行,因为系统直接退出。另,try{}语句和Finally{}中同时包含return()时,try()中的return()将不会被执行,只执行finally语句的return()语句。

3、当时用try{}catch{}语句时,异常是如何寻找catch块的呢,每一个catch块都有一个指定的异常类及其子类的异常实例。当try{}中语句产生异常后,try{}其抛出到JVM运行环境中,运行环境接收到该异常后会判断该异常由哪个catch块处理。当未找到可以处理该异常的catch块时,程序运行终止,系统抛出异常。Java7中有多异常捕获,多异常类型使用“|”隔开,多异常捕获的异常变量使用隐式final修饰,因此变量名不可以改变。

多异常捕获:

try{
}catch(IndexOutOfBoundsException|NumberFormatException  ie){
//ie变量默认有final修饰,因此下面语句就会报错
ie=new NumberFormatException("test");
}

4、throws、throw

在(checked exception)中,throws为当不知道异常为何种异常,或者不想对异常进行处理时,需要进行声明抛出异常。throw为用户自行处理抛出异常,多数用于向用户提示信息。

5、catch和throw同时使用,有些异常比较复杂,一个catch块不能将其处理完全,这时需要在catch中自定义一个throw抛出异常,告诉调用该方法的调用者需要对这个异常再次进行处理。

java异常处理机制

以上就是赢咖4java培训机构的小编针对“Java中的异常处理机制的简单原理?”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>