Java异常处理深入解析
1. 何时使用异常处理
异常处理旨在处理同步错误,即语句执行时发生的错误。常见的同步错误包括:
- 数组索引越界
- 算术溢出(值超出可表示范围)
- 除零错误
- 无效的方法参数
- 线程中断
- 内存分配失败(由于内存不足)
异常处理不适用于处理异步事件相关的问题,如磁盘I/O完成、网络消息到达、鼠标点击和按键操作等,这些事件与程序的控制流并行且独立发生。
2. Java异常层次结构
所有Java异常类直接或间接继承自 Exception
类,形成一个继承层次结构。 Throwable
是 Exception
的超类,只有 Throwable
对象才能与异常处理机制一起使用。 Throwable
有两个子类: Exception
和 Error
。
- Exception
及其子类表示Java程序中可能发生的异常情况,应用程序可以捕获这些异常。例如, RuntimeException
( java.lang
包)和 IOException
( java.io
包)。
- Error
及其子类表示JVM中发生的异常情况。大多数 Error