其他
只有 try
块中的代码没有引发异常时,才会运行 else 块中的代码。如果你在抛出异常时不想运行某些代码,但是你不希望捕获该代码抛出的异常,那么这非常有用。
例如:
try:
data = {1: 'one', 2: 'two'}
print(data[1])
except KeyError as e:
print('key not found')
else:
raise ValueError()
# Output: one
# Output: ValueError
请注意,这种 else:
不能与 if
结合使用 else-clause 启动 elif
。如果你有一个以下 if
它需要保持缩进到 else:
:
try:
...
except ...:
...
else:
if ...:
...
elif ...:
...
else:
...