Java语言规范将派生于Error类或RuntimeException类的所有异常称为未检查异常,所有其他的异常称为已检查异常。编译器将核查是否为所有的已检查异常提供了异常处理器。
如果遇到了无法处理的情况,那么Java的一个方法方法可以抛出一个异常。这个道理很简单: 一个方法不仅要告诉编译器将要返回什么值,还要告诉编译器有可能发生什么错误。例如:一段读取文件的代码知道有可能读取的文件不存在,或者内容为空,因此,视图==试图处理文件信息的代码就需要通知编译器可能会抛出IOException类的异常。
方法应该在其首部声明所有可能抛出的异常。这样可以从首部反映出这个方法可能抛出哪类已检查异常。