Java异常一:异常定义;异常的分类
1.异常定义
编译期间的错误编译器往往或提醒我们,但运行期间的错误不易预先侦知。
2.异常分类
异常是在程序运行过程中不期而至的各种状况,可以把他理解成是一种事件,其会干扰程序正常的运行流程;
在Java中是使用 Throwable以及它的相关子类来去对各种异常类型进行描述的
Error:Error是程序中无法处理的错误,表示运行应用程序中较严重的问题。大多数的错误与代码编写者执行的操作是没有关系的,而是代码运行的时候,Java虚拟机出现的一系列的问题。
常见的有虚拟机错误,内存溢出错误等。这些错误是不可查的,因为它们在应用程序的控制和处理能力之外,而且绝大多数是程序运行时不允许出现的情况;对于设计合理的应用程序来说,即使确实发生了错误,本质上也无法通过异常处理去解决它所引起的各种状况。
所以对于Error及其子类所产生的异常我们无能为力,通常也不需要去关心,自然我们也不希望程序中出现Error错误。
Exception:是程序本身可以处理的异常,而我们所用的异常处理通常就是针对Exception的;
非检查异常:指编译器不要求强制处理的异常,其包含RuntimeException及其相关子类:
例如下面就是非检查异常的四个例子,Java编译器在编译阶段是不会去检查【非检查异常】的,即在编写代码时可以选择去捕获处理【非检查异常】,也可以选择放任不管
检查异常:编译器要求必须在代码中处理的异常;在Java中,除了RuntimeException及其子类之外的所有Exception均是检查异常:
常见的检查异常如:文件操作异常和数据操作异常等,这些异常在程序编码阶段就要求必须进行异常处理(尚存模糊点),否则编译时无法正常通过。