有几种捕获多个异常的方法。
第一种是通过创建希望以相同方式捕获和处理的异常类型的元组。此示例将导致代码忽略KeyError和AttributeError异常。
try:
d = {}
a = d[1]
b = d.non_existing_field
except (KeyError, AttributeError) as e:
print("捕获了KeyError或AttributeError异常。")如果您希望以不同的方式处理不同的异常,则可以为每种类型提供一个单独的异常块。在此示例中,我们仍然捕获KeyError和AttributeError,但是以不同的方式处理异常。
try:
d = {}
a = d[1]
b = d.non_existing_field
except KeyError as e:
print("A KeyError has occurred. Exception message:", e)
except AttributeError as e:
print("An AttributeError has occurred. Exception message:", e)