Недоиспользование блока исключений

В процессе обучения или адаптации к новому языку, мы предлагаем обратить внимание не только на основные, базовые моменты, но и на некоторые более «продвинутые»
Нельзя упускать из виду исключения. Грамотное использование исключений позволяет сделать код рабочим даже в исключительных условиях.

А еще бывает так, что исключения используются, но так, что от них нет никакой пользы. Давайте посмотрим на один из примеров эффективной реализации исключений.

Анти-паттерн: Не использовать исключения вообще.

Ниже приведен пример плохой обработки ошибок. Здесь просто подтверждается очевидный факт и не принимаются во внимание другие последствия.

Что делать, если “debug.log” существует, но при его удалении происходит ошибка? Код будет остановлен без какого-либо информационное сообщения.
Вы же не хотите чтобы, что код «выбросило» на шаге, который не влияет на остальную часть исполнения.
Иключения-неправильный-подход

EAFP – выражение, часто используемое программистами Python. Это сокращение от “easier to ask for forgiveness than permission – “легче просить прощения, чем разрешения”. Он выражает понятие использования исключений для обработки ошибок, связанных с неопределенными переменными или файлов и т.д.

Решение: Используйте try-except, чтобы предотвратить любые возможные случаи.

 

 

Это тот же код, завернутый в блок tryexcept . Теперь он соответствует EAFP соглашению. Интересно отметить, что, за except здесь выводит сообщение об ошибке. Но код при этом продолжает Исключения-правильный-подходработать!

Поделитесь с друзьями:

Оставьте комментарий