Найти - Пользователи
Полная версия: 'try except' vs 'try except else'
Начало » Python для новичков » 'try except' vs 'try except else'
1
pento
Всем привет!

Подскажите пожалуйста, в чём принципиальное различие между использованием конструкции вида:

try:
foo()
except:
...
else:
foo2()
от

try:
foo()
foo2()
except:
...
То есть в каких случаях оправдано использование else try..except конструкциях?
regall
Блок
else
...
выполнится в любом случае, независимо от того, был ексепшн или нет.
pento
Удалено…заудмался
Александр Кошелев
regall
выполнится в любом случае, независимо от того, был ексепшн или нет.
Обманул)

В else попадет выполнение только если _не_ было выброшено исключение.

Нужно это для того чтобы явно указать - этим try except я ловлю исключения только в этом коде (который между try except),а в другом коде (который после else) я эти исключения не ловлю совсем или ловлю по другому и при этом этот код должен отработать, если первый отработал успешно.
DHT
если мысленно заменить except на if, то сразу все станет наглядно и понятно :)
regall
Daevaorn
Обманул)
Дико извиняюсь, таки да, обманул)
Блин, сейчас на работе с чем только не приходится работать (в основном разные PHP фреймворки, по учебе .NET), от я уже и запуталсо =)
pento
Daevaorn
regall
выполнится в любом случае, независимо от того, был ексепшн или нет.
Обманул)

В else попадет выполнение только если _не_ было выброшено исключение.

Нужно это для того чтобы явно указать - этим try except я ловлю исключения только в этом коде (который между try except),а в другом коде (который после else) я эти исключения не ловлю совсем или ловлю по другому и при этом этот код должен отработать, если первый отработал успешно.
Спасибо!
То есть я правильно понимаю, что смысл есть подобную конструкцию использовать по большей части только для визуального выделения блока кода?
А в большинстве случаем можно просто писать в try секцию после потенциально “опасного” кода?
Андрей Светлов
пишите как вам удобно. Но в целом - мысль правильная.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB