как использовать одни и те же множественные исключения в Python - PullRequest
0 голосов
/ 27 февраля 2019
a=[1,2,3]
try:
    print(a[6])
except IndexError:
    print(a[7])
except IndexError:
    print(a[1])

Traceback (последний вызов был последним):Файл "", строка 2, вIndexError: список индексов вне диапазона

Во время обработки вышеуказанного исключения произошло другое исключение:

Traceback (последний вызов был последним):Файл "", строка 4, вIndexError: список индексов вне диапазона

Итак, я должен использовать не изящный способ:

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

Есть ли хороший подход для написания кода?


1 Ответ

0 голосов
/ 27 февраля 2019

Использование может обернуть ваш try: ... except:... в цикл:

a = [1,2,3]
for i in [6,7,1]:
    try:
        print(a[i])
    except IndexError:
        pass
# 2
...