实现各种错误处理和资源管理。
编程中重要的一点是,即使出现错误,也要处理错误并关闭资源。
这个练习要求你处理各种错误。 因为错误处理相当依赖于具体的编程语言,你需要参考你所在语言轨道的测试来了解具体要求。
本练习要求你处理异常。异常是程序运行期间发生的事件,它会打断程序指令的正常执行流程。
在 Java 中,异常分为两种:受检异常和非受检异常。
受检异常是指在编译时进行检查的异常。
对于任何可能抛出受检异常的方法,你必须在它的方法签名中声明这些异常;而调用任何可能抛出受检异常的方法时,必须处理或重新抛出它们。
这是因为受检异常本来是设计为在运行时处理的,也就是说,它们是你能够从中恢复的错误。
当方法无法返回任何有效结果时,就常常会用到它们。例如,一个查找方法没有找到它正在查找的那一项。
它是返回 null 或错误码之外的另一种选择。受检异常比这些做法更好,因为它会迫使方法的调用者去考虑出错的情况。
非受检异常是指不在编译时进行检查的异常。
对于可能抛出非受检异常的方法,你不需要在它的方法签名中声明这些异常;而调用任何可能抛出非受检异常的方法时,也不需要处理或重新抛出它们。
非受检异常通常由程序中的缺陷引起,可以通过正确的编码来避免。例如:只要确保数组下标介于 0 和数组长度之间,就能避免 ArrayIndexOutOfBoundsException。