Я бы не рекомендовал это. Во-первых, потому что notifyUpdated()
будет вызываться, даже если код в любой ветви выдает исключение. Вам нужно что-то подобное, чтобы действительно получить намеченное поведение:
try:
if x:
return update(1)
else:
return update(2)
except:
raise
else:
notifyUpdated()
Во-вторых, поскольку блоки try
обычно указывают на то, что вы выполняете какую-то обработку исключений, а вы нет, вы просто используете их для удобства. Так что эта конструкция смущает людей.
Например, я не думаю, что кто-то из первых двух человек (по крайней мере, один из них удалил свой ответ), чтобы ответить на ваш вопрос, понял, что вы действительно пытались сделать. Запутанный код плох, независимо от того, насколько он удобен и умен.