跳转至

第7章 异常、断言和日志

Java 中有 3 种处理系统错误的机制:

  • 抛出一个异常。
  • 使用断言。
  • 日志。

抛出异常

声明检查型异常

派生于 Error 类或 RuntimeException 类的所有异常称为非检查型异常,所有其他的异常称为 检查型异常。

下面 4 种情况会抛出异常:

  1. 调用了一个抛出检查型异常的方法,例如, FileInputStream 构造器。
  2. 检测到一个错误,并且利用 throw 语句抛出一个检查型异常。
  3. 程序错误,例如,a[-1]=0 会抛出一个非检查型异常 ArrayIndexOutOfBoundsException

  4. Java 虚拟机或运行时库出现内部错误。

一个方法必须声明所有可能抛出的检查型异常(也就是前两种情况),因为如果处理器没有捕获这个异常,当前执行的线程就会终止。如果在方法中没有声明所有可能发生的检查型异常,编译器就会发出一个错误消息。

使用断言

什么时候使用断言:

  • 断言检查只是在开发和测试阶段打开。
  • 断言失败时,程序的行为是难以预料的。

通常使用的断言完成 参数检查提供假设文档


最后更新: 2023-12-12
创建日期: 2023-12-05