Какая польза от else: после предложения try / исключением [дубликаты]

1

Возможные дубликаты:
когда необходимо добавить предложение else в try..except в Python?
Python try-else

for arg in sys.argv[1:]:
    try:
        f = open(arg, 'r')
    except IOError:
        print 'cannot open', arg
    else:
        print arg, 'has', len(f.readlines()), 'lines'
        f.close()

Что такое использование этого предложения else, и когда оно будет выполнено?

Теги:

2 ответа

3
Лучший ответ

Выражение try... except... else означает что-то вроде этого:

try:
    # execute some code
except:
    # if code raises an error, execute this code
else:
    # if the "try" code did not raise an error, execute this code
  • 2
    Else также не выполняется, если в блоке try есть возврат.
  • 0
    Здесь очень хорошее объяснение того, когда полезно использовать пробную версию : stackoverflow.com/a/855764/621591
3

Из документации Python:

Необязательное предложение else выполняется, если и когда управление течет с конца предложения try.7.2 Исключения в предложении else не обрабатываются предыдущими исключениями.

В настоящее время контроль "истекает конец", за исключением случая исключения или выполнения инструкции return, continue или break.

Поэтому предложение else выполняется, когда try не создает исключение и не выходит из блока через оператор потока управления.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню