欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

检查型异常和非检查型异常的比较

程序员文章站 2022-04-07 18:57:32
...
对于因为编程错误而导致的异常,或者是不能期望程序捕获的异常(解除引用一个空指针,数组越界,除零,等等),为了使开发人员免于处理这些异常,一些异常被命名为非检查型异常(即那些继承自 RuntimeException 的异常)并且不需要进行声明。
1、检查性异常: JAVA编译器强制要求用try{}catch(){}块进行处理,如果不处理则必须在包含可能发生异常的代码的方法上用throws显示地抛出异常,由调用该方法的方法catch捕捉处理异常,否则程序编译不会通过,会有红叉提示。
如:

检查型异常和非检查型异常的比较

这里必须要用try catch块将代码包围起来或者throws显式 抛出异常,否则编译不会通过。
2、非检查性异常:JAVA编译器可以通过的异常,可以用try{}catch(){}进行处理,处理过后程序可以继续向下执行,也可以不处理,由调用它的方法进行处理。当然,也可以一直不处理,到了最上层,多线程的话线程会终止,单线程的话主程序会终止,也就是说运行时异常如果一直不进行处理,则会起到使程序停止的作用。
如:
检查型异常和非检查型异常的比较
这里虽然抛出了异常,但只是阻止程序继续运行,并不会编译报错,无需在方法上用throws语句显式抛出异常。

以上就是检查型异常和非检查型异常的比较的详细内容,更多请关注其它相关文章!