异常处理
异常处理是妥善处理可能在执行期间导致程序崩溃的异常的过程。
当错误发生时,程序会抛出异常。
运行时系统会尝试查找异常处理程序 (exception handler),这是一个可以处理特定类型错误的代码块。一旦找到,合适的异常处理程序会捕获异常 (catches the exception) 并执行代码块,该代码块可以尝试从错误中恢复。如果错误无法恢复,处理程序提供了一种温和退出程序的方式。
Python 中的 try
语句指定了代码块的异常处理程序和/或清理代码。
try 语句的各个部分是:
try
块:可能抛出异常的语句块。except
子句:一个或多个异常处理程序。每个except
子句处理特定类型的异常。如果在try
块中发生特定类型的异常,则执行相应的except
子句代码块。else
子句:可以在最后一个except
块之后包含一个可选的else
子句。如果没有引发异常,则不会执行任何except
块。在这种情况下,将执行else
代码块。finally
子句:可以在 try 语句的末尾添加一个可选的finally
子句,其中包含一个语句块,无论 try 块内部是否发生任何错误,该语句块都会执行。此块通常用于代码清理和关闭所有打开的文件对象。
以下是这些语句的一般形式:
python
try:
[代码块]
except [异常类型1 [as 标识符1]]:
[异常处理代码块 1]
except [异常类型2 [as 标识符2]]:
[异常处理代码块 2]
...
...
else:
[如果没有错误则执行的代码块]
finally:
[总是执行的代码块]