如何在python中使用相同的多个异常

如何在python中使用相同的多个异常,python,exception,try-catch,Python,Exception,Try Catch,回溯(最近一次呼叫最后一次): 文件“”,第2行,在 索引器:列表索引超出范围 在处理上述异常期间,发生了另一个异常: 回溯(最近一次呼叫最后一次): 文件“”,第4行,在 索引器:列表索引超出范围 所以,我不得不用一种不优雅的方式: a=[1,2,3] try: print(a[6]) except IndexError: print(a[7]) except IndexError: print(a[1]) 有没有好的方法来编写代码 使用可以包装您的尝试:。。。除了:

回溯(最近一次呼叫最后一次):
文件“”,第2行,在
索引器:列表索引超出范围

在处理上述异常期间,发生了另一个异常:

回溯(最近一次呼叫最后一次):
文件“”,第4行,在
索引器:列表索引超出范围

所以,我不得不用一种不优雅的方式:

a=[1,2,3]
try:
    print(a[6])
except IndexError:
    print(a[7])
except IndexError:
    print(a[1])
有没有好的方法来编写代码



使用可以包装您的
尝试:。。。除了:…
和for循环:

a=[1,2,3]
try:
    print(a[6])
except IndexError:
    try:
        print(a[7])
    except IndexError:
        print(a[1])

使用可以包装您的<代码>尝试:。。。除了:…和for循环:

a=[1,2,3]
try:
    print(a[6])
except IndexError:
    try:
        print(a[7])
    except IndexError:
        print(a[1])

一个
try
上的多个
except
块用于捕获可能发生在
try
中的多个异常类型,而不是发生在
except
块中的异常。此外(这超出了您的要求),但您可以捕获像这样的不同类型的异常
except(indexer,ValueError)由于e
try上的多个
except
块用于捕获可能发生在
try
中的多个异常类型,而不是发生在
except
块中的异常。此外(这超出了您的要求),但您可以捕获像这样的不同类型的异常
except(索引器,ValueError)as e
非常感谢!我使用了与您推荐相同的方式!!@WeiChou很乐意帮助,欢迎使用堆栈溢出。如果此答案或任何其他答案解决了您的问题,请将其标记为已接受谢谢!我使用了与您推荐相同的方式!!@WeiChou很乐意帮助,欢迎使用堆栈溢出。如果此答案或任何其他答案另一个解决了您的问题,请将其标记为已接受