@ssssergey

Try/except или if использовать для обработки ошибок?

Программа производит поиск по тэгам в HTML коде. Если не находит переменной присваивается None, что в дальнейшем приводит к ошибке. Что лучше: if a != None или try?
  • Вопрос задан
  • 2494 просмотра
Решения вопроса 1
kivsiak
@kivsiak
software engineer
Эксепшены придуманы чтобы сказать программисту "Что то пошло не так. Ситуация исключительная. Справляйся сам". В вашем случае же None это валидный ответ. Следовательно лучше обрабатывать его If.

Что еще хуже ловить TypeError или AttributeError поможет проморгать еще кучу ошибок помимо той о какой вы знаете и готовы смириться.

Справедливости ради должен заметить что частенько исключения используются для управления ходом программы. Например в raise Http404 в django. Но это не ваш случай.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Andrbez
@Andrbez
Procrastination
Лучше ("питонистее"): if not a:
Ответ написан
@Derfirm
Noname Developer.
Немного не по теме, но может быть полезно (аккуратно, анлийский) stackoverflow.com/questions/9748678/which-is-the-b...
Ответ написан
Комментировать
@lega
if a != None
В питоне проверку на None нужно делать через is/is not
if a is not None:

Конкретно в подобной задаче можно сделать так, чтобы не было трехэтажных блоков if/try
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы