- 异常一般是指运行期(此处特指Exception类)会发生的导致程序意外中止的问题,是一种对问题的描述后的封装对象。
- 是Object下所属的Throwable类,包含Error类和Exception类,其中Exception中包含特殊的RuntimeException
- Throwable
|----Error
|----Exception
|----RuntimeException - Error类:编译时就出现中止,常无关代码逻辑,而和系统Error有关,无需写针对性代码处理
- Exception类:是可以处理的问题,需要程序员改善代码再进行处理,即通过抛出或者try...catch捕获
- 异常的特点:异常体系中所有类及建立的对象都是可抛的,也就是可以通过throws(函数上使用)、throw(函数内使用)进行操作
- 当函数内容有throw抛出异常对象,并未进行try处理,必须要在函数上声明,否则编译失败。注意RuntimeException除外,如果抛出RuntimeException,函数上可以不用声明
- 如果函数声明了异常,调用者需要进行处理
- 异常:
- 编译时被检测异常:如果没有进行处理,编译失败;异常被标识,意味着可以被处理
- 运行时异常:编译时不检查
- 异常处理原则
- 处理方式:try或throws
- 抛出几个异常就处理几个,一个try多个catch
- 多个catch,父类放到最下面
- catch内写针对性代码
五种常见异常举例
-
ArrayIndexOutOfBoundsException(数组越界异常):常发生在访问数组超过长度的元素时发生
ArrayIndexOutOfBoundsException -
ArithmeticException(算术异常):常发生在常规违背算术法则的情况,如程序中出现了除以零这样的运算就会出这样的异常
ArithmeticException -
InputMismatchException(数据类型不匹配):常发生在用户输入有误,不符合程序设定类型
InputMismatchException -
NullPointerException(空指针异常):常发生在已分配空间的数据未初始化
NullPointerException
未初始化 - IOException(找不到指定路径的IO异常):常发生在工程文件不在当前工作路劲下
网友评论