asilyator
Янв. 9, 2011 16:22:57
Как элегантно написать такое:
try:
выражение
except Error:
fix_Error()
выражение
чтобы не писать выражение 2 раза?
doza_and
Янв. 9, 2011 16:46:01
while 1:
try:
expr
break
except:
fix_error()
asilyator
Янв. 9, 2011 16:49:47
А короче нельзя?
doza_and
Янв. 9, 2011 16:51:09
отредактировал покороче
может и можно вы не просили самую короткую версию
doza_and
Янв. 9, 2011 16:55:43
Если у вас очень длинное выражение обычно функцию делают, Если ценен контекст выполнения можно с yield поиграться
asilyator
Янв. 9, 2011 16:56:20
Ну дай покороче, если найдешь, только новым постом :)
asilyator
Янв. 9, 2011 16:58:03
Нет, выражение короткое, просто копипаст кода есть однозначно бэд.
doza_and
Янв. 9, 2011 17:07:17
Обычно так сломается что повторять уже не приходится. goto помогает в любом случае :)
asilyator
Янв. 9, 2011 17:10:00
Готу вроде некошерный?
Алсо мне надо, чтобы fix_error() выполнялся максимум один раз, а то так в бесконечный цикл уйти можно.
Что-то вроде
try:
expr
except Error:
fix_Error()
redo expr
doza_and
Янв. 9, 2011 17:19:48
Может вы поконкретнее напишете что у вас за исключение возникает. А то так не очень понятно получается