异常处理

即使是精心编写的程序,有时也会遇到无法预料的错误。例如,如果编写需要从磁盘读取某些数据的程序,则可以假设指定的磁盘实际可用且数据有效。如果你的程序根据用户输入进行计算,则它假定输入适合用于计算。

虽然你可能会在一些潜在的问题出现之前尽可能的预料到 - 例如,通过编写代码来检查文件是否存在,然后再从中读取数据,或者在进行计算之前检查用户输入是否为数字 - 你永远无法提前预料到每个问题。

例如,用户可以在已经开始从 CD 中读取数据时移除 CD;或者,在你的代码尝试除以此值之前,某些模糊的计算可能会产生 0。当你知道在运行时(runtime)某些不可预见的情况可能导致你的代码被“中断”(break)时,你可以尝试使用“异常处理”(exception handling)来避免灾难。

“异常”(exception)是打包到对象中的错误。该对象是 Exception 类(或其后代之一)的一个实例。你可以通过捕获异常对象(Exception Object)来处理异常,可选地使用它包含的信息(比如打印相应的错误消息)并采取从错误中恢复所需的任何操作 - 可能通过关闭任何仍然打开的文件,或者分配合理的值给那些因错误计算而被分配了一些无意义的值的变量。