try:
<try语句代码块>
except <namel>:
<except语句代码块>
except (name2, name3):
<except语句代码块>
except <name4> as <data>:
<except语句代码块>
except:
<except语句代码块>
else:
<else语句代码块>
<与try有相同缩进的语句块>
try是复合语句,后接一个或多个except分句,最后接一个可选的else分句。
# | 语句 | 描述 |
---|---|---|
1 | try | python根据try标记当前程序环境,发生异常时回到标记位置。 |
2 | try语句代码块 | 表示要执行的程序代码 |
3 | except | 匹配try引发的异常 |
4 | except语句代码块 | 用于处理异常的代码 |
5 | else语句代码块 | 没发生异常时执行的代码 |
如果<try语句代码块>发生异常,python就回到try标记位置,查找第一个与异常匹配的except并执行<except语句代码块>,执行完<except语句代码块>后,控制权回到整个try语句后,执行<与try有相同数据的语句块>。
如果<try语句代码块>发生异常,并且没有找到与异常匹配的except分句,异常就会向上一个try传递,如果本身是第1个try,则直接终止程序并打印默认的错误消息。
如果<try语句代码块>未发生异常,则执行<else语句代码块>,执行完<else语句代码块>后,控制权回到整个try语句后,执行<与try有相同数据的语句块>。