如何使用 try except in python 打印每个错误

How to print every error using try except in python

我现在正在学习如何处理 python 中的多个错误。使用 try-except 时,我想打印 try 中的每个错误。 try 中有两个错误,但首先发生索引错误,因此程序无法打印有关 ZeroDivisionError 的消息。如何打印 IndexError 消息和 ZeroDivisionError 消息?

下面是我写的代码

try:
    a = [1,2]
    print(a[3])
    4/0
except ZeroDivisionError as e:
    print(e)
except IndexError as e:
    print(e)

因为IndexError发生了,就进入了except,所以4/0不执行,ZeroDivisionError不发生,让两者都执行, 使用 2 个不同的 try-except

try:
    a = [1, 2]
    print(a[3])
except IndexError as e:
    print(e)

try:
    4 / 0
except ZeroDivisionError as e:
    print(e)

给予

list index out of range
division by zero

你不能这样做,当第一个错误发生时,你的代码执行 except 块,除非你定义多个 try-except 块。