错误处理机制
1、 捕获异常用 try...catch...finally,其中 try 块放可能出错代码,catch 处理异常,finally 执行清理操作。
2、 通过使用try...catch...finally语句,可以捕获异常,防止程序异常终止。

3、 说明:
4、 可使用多个catch子句来捕获不同类型的异常,具体使用哪个取决于抛出的异常类型。
5、 支持以下组合形式:try...catch、try...finally 以及 try...catch...finally。


6、 操作流程图示
7、 图示展示了try...catch...finally的执行流程,详见下图。

8、 例如
9、 明月几时有


10、 明确声明可能抛出的异常类型
11、 若一个方法可能出现受检异常,但无法确定如何处理或暂时不予处理时,该方法应明确声明抛出异常。这表明此方法不会处理这些异常,而是交由调用者负责处理。这是合理分配异常处理责任的体现。
12、 在方法声明中,可通过throws列出可能抛出的异常。这些异常可以是方法内产生的具体异常类型,也可以是其父类。若一个方法涉及多个受检异常,则需在方法签名中用逗号分隔列出所有异常类型。这样能够明确告知调用者可能出现的异常情况。
13、 参考示例代码

14、 重写方法时,抛出的异常不能比被重写方法更多。
15、 重写方法不能抛出比父类方法范围更大的异常类型。多态调用时,异常捕获依据父类声明的异常进行处理。
16、 父类方法若未声明抛出受检异常,则重写方法也不得声明抛出此类异常。
17、 子类重写方法时,抛出的异常类型应与父类被重写方法声明的异常类型保持一致。
18、 子类重写方法时,抛出的异常类型应为父类被重写方法异常的子类。
19、 子类重写方法时,可在方法内部处理异常,无需声明抛出异常。
