“核心技术:异常、断言和日志”的版本间差异
跳到导航
跳到搜索
无编辑摘要 |
(→异常分类) |
||
第3行: | 第3行: | ||
== 错误处理 == | == 错误处理 == | ||
=== 异常分类 === | === 异常分类 === | ||
[[File:Java 中的异常层次结构.png|600px]] | |||
异常对象都是派生于'''Throwable''' 类的一个实例: | |||
# '''Error''':类层次结构描述了Java 运行时系统的内部错误和资源耗尽错误。应用程序不应该抛出这种类型的对象。 | |||
# '''Exception''': | |||
## '''RuntimeException''':由程序错误导致的异常属于RuntimeException; | |||
## 其他异常:由于像I/O 错误这类问题导致的异常; | |||
派生于RuntimeException 的异常包含下面几种情况: | |||
* 错误的类型转换。 | |||
* 数组访问越界i | |||
* 访问null 指针 | |||
不是派生于RuntimeException 的异常包括: | |||
* 试图在文件尾部后面读取数据。 | |||
* 试图打开一个不存在的文件。 | |||
* 试图根据给定的字符串查找Class 对象, 而这个字符串表示的类并不存在。 | |||
非受查异常 与 受查异常: | |||
# 非受查(unchecked) :异常派生于Error 类或RuntimeException 类的所有异常称为; | |||
# 受查(checked) :所有其他的异常称为。 | |||
=== 声明受査异常 === | === 声明受査异常 === | ||
=== 如何抛出异常 === | === 如何抛出异常 === |
2020年10月20日 (二) 02:15的版本
错误处理
异常分类
异常对象都是派生于Throwable 类的一个实例:
- Error:类层次结构描述了Java 运行时系统的内部错误和资源耗尽错误。应用程序不应该抛出这种类型的对象。
- Exception:
- RuntimeException:由程序错误导致的异常属于RuntimeException;
- 其他异常:由于像I/O 错误这类问题导致的异常;
派生于RuntimeException 的异常包含下面几种情况:
- 错误的类型转换。
- 数组访问越界i
- 访问null 指针
不是派生于RuntimeException 的异常包括:
- 试图在文件尾部后面读取数据。
- 试图打开一个不存在的文件。
- 试图根据给定的字符串查找Class 对象, 而这个字符串表示的类并不存在。
非受查异常 与 受查异常:
- 非受查(unchecked) :异常派生于Error 类或RuntimeException 类的所有异常称为;
- 受查(checked) :所有其他的异常称为。