# 小结 > 原文: [https://docs.oracle.com/javase/tutorial/essential/exceptions/summary.html](https://docs.oracle.com/javase/tutorial/essential/exceptions/summary.html) 程序可以使用异常来指示发生了错误。要抛出异常,请使用`throw`语句并为其提供异常对象 - `Throwable`的后代 - 以提供有关发生的特定错误的信息。抛出未捕获的已检查异常的方法必须在其声明中包含`throws`子句。 程序可以通过使用`try`,`catch`和`finally`块的组合来捕获异常。 * `try`块标识可能发生异常的代码块。 * `catch`块标识一个代码块,称为异常处理器,可以处理特定类型的异常。 * `finally`块标识一个保证执行的代码块,并且是在`try`块中包含的代码之后关闭文件,恢复资源和清理的正确位置。 `try`语句应包含至少一个`catch`块或`finally`块,并且可能包含多个`catch`块。 异常对象的类指示抛出的异常类型。异常对象可以包含有关错误的更多信息,包括错误消息。对于异常链接,异常可以指向导致它的异常,这可以反过来指向导致 _ 它 _ 的异常,依此类推。