Нет. Философия Python заключается в том, что явное лучше, чем неявное. Большинство функций Python, которые ожидают регулярного генерирования исключений, например dict .__ getitem__, предоставляют эквивалентные версии, возвращающие значение по умолчанию, например dict.get.
Я использовал новое с контекстами для чего-то подобного раньше; код выглядел так:
with ignoring(IOError, OSError):
# some non-critical file operations
Но мне тоже ничего не нужно было возвращать. Как правило, уровень целой функции - плохое место для этого, и, используя декораторы, вы заблокируете любой шанс получить ошибку, если захотите обработать ее более изящно в другом месте.
Также, except:
чрезвычайно опасен; Вы, вероятно, имеете в виду (по крайней мере) except Exception:
, и, возможно, что-то еще более узко ограниченное, например, IOError или KeyError. В противном случае вы также поймаете такие вещи, как Ctrl-C, SystemExit и имена переменных с ошибками.