Java异常一:异常定义;异常的分类

1.异常定义

Java异常一:异常定义;异常的分类

编译期间的错误编译器往往或提醒我们,但运行期间的错误不易预先侦知。

Java异常一:异常定义;异常的分类


2.异常分类

异常是在程序运行过程中不期而至的各种状况,可以把他理解成是一种事件,其会干扰程序正常的运行流程;

在Java中是使用 Throwable以及它的相关子类来去对各种异常类型进行描述的

Java异常一:异常定义;异常的分类

Error:Error是程序中无法处理的错误,表示运行应用程序中较严重的问题。大多数的错误与代码编写者执行的操作是没有关系的,而是代码运行的时候,Java虚拟机出现的一系列的问题。

常见的有虚拟机错误,内存溢出错误等。这些错误是不可查的,因为它们在应用程序的控制和处理能力之外,而且绝大多数是程序运行时不允许出现的情况;对于设计合理的应用程序来说,即使确实发生了错误,本质上也无法通过异常处理去解决它所引起的各种状况。

所以对于Error及其子类所产生的异常我们无能为力,通常也不需要去关心,自然我们也不希望程序中出现Error错误。

Exception:是程序本身可以处理的异常,而我们所用的异常处理通常就是针对Exception的;

非检查异常:指编译器不要求强制处理的异常,其包含RuntimeException及其相关子类:

例如下面就是非检查异常的四个例子,Java编译器在编译阶段是不会去检查【非检查异常】的,即在编写代码时可以选择去捕获处理【非检查异常】,也可以选择放任不管

Java异常一:异常定义;异常的分类

检查异常:编译器要求必须在代码中处理的异常;在Java中,除了RuntimeException及其子类之外的所有Exception均是检查异常:

常见的检查异常如:文件操作异常和数据操作异常等,这些异常在程序编码阶段就要求必须进行异常处理(尚存模糊点),否则编译时无法正常通过。

Java异常一:异常定义;异常的分类