Java-异常
1、异常概述
异常都是从Throwable类派生出来的,而Throwable类直接从Object类继承而来
2、异常分类
异常通常有四类:
- Error,系统内部错误。这类错误由系统进行处理,程序本身无需捕获异
- Exception,可以处理的异常
- RuntimeException,可以捕获,也可以不捕获异常
- 继承Exception的其他类,必须捕获,通常在API文档中会说明这些方法抛出那些异常
平常主要关注的异常是Exception下的异常,而Exception异常下又主要分为两大类异常,一个是派生于RuntimeException的异常,一个是除了RuntimeException体系之外的其他异常
RuntimeException异常(运行时异常)通常有以下几种:
- 错误类型转换
- 数组访问越界
- 访问null空指针
- 算数异常
一般来说,RuntimeException都是代码逻辑出现问题
非RuntimeException(受检异常,CheckedException)一般有:
- 打开一个不存在的文件
- 没有找到具有指定名称的类
- 操作文件异常
受检异常是编译器要求必须处理的异常,必须使用try catch处理,或者使用throw抛出,交给上层调用者处理