【问题标题】:How to print every error using try except in python如何在 python 中使用 try 打印每个错误
【发布时间】:2021-01-24 10:24:37
【问题描述】:

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

下面是我写的代码。

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

【问题讨论】:

    标签: python exception try-except


    【解决方案1】:

    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
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2020-05-12
        • 1970-01-01
        • 1970-01-01
        • 2012-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-24
        相关资源
        最近更新 更多