异常定义
Definition: An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program’s instructions.
异常定义:异常是一个事件,这个事件发生在程序的执行期间,中断程序指令的正常流程
当一个方法在程序中出现错误时,这个方法会创建一个对象,并把这个对象传递给运行时系统,这个对象称之为异常对象,这个异常对象包含错误信息。
异常分类
java异常分类有3中,分别是
- 受检异常(Checked Exception)
- 错误(Error)
- 运行时异常(Runtime Exception)
其中错误和运行时异常又称之为非受检异常。
在官方文档中说到一个“The Catch or Specify Requirement”,意思是说,可能包含异常的代码必须被以下某种情况中的一种包起来:
- 一个try语句块
- 一个生命throws的方法
这其中只有受检异常必须遵循这种规范,非受检异常可以不用使用try语句块或者trhows方法。
受检异常(Checked Exception)
这类异常应该遵循“The Catch or Specify Requirement”。这类异常一般都是可以恢复的。不应该中断程序的执行。几乎所有的异常都是受检异常,除了RuntimeException异常以及其子类外,其他异常均是受检异常。
错误(Error)
这类异常一般都是属于应用外的,而且是不能从程序中恢复的,比如说一个如文件的操作,程序能够正常打开一个文件用于输入,但是硬件或者系统方面的问题导致不能读取文件。这类异常不是受程序本身所能控制的。因此也不能从程序中恢复。这类异常不遵循“The Catch or Specify Requirement”
运行时异常(Runtime Exception)
这类异常是属于应用程序内部的,且不能从代码中恢复的异常。这些异常通常都表示应用程序的bug,逻辑错误,或者API的不正常使用。这类异常也不遵循“The Catch or Specify Exception”