Pythoner
Фотография
✈️В больших проектах важно точно понимать, что пошло не так. Вместо того чтобы ловить все подряд через Exception, создавайте собственные исключения:
class MyError(Exception):
pass
➡️Теперь можно выбросить исключение, связанное с вашей логикой:
raise MyError("Что-то пошло не так")
➡️Зачем это нужно?
— Код становится читаемее
— Ошибки легче отлавливать
— Проще отлаживать и тестировать
— Можно группировать ошибки по типу
➡️Вы даже можете создать иерархию ошибок:
class ValidationError(MyError):
pass
class DatabaseError(MyError):
pass
💡Такой подход особенно полезен в API, играх, сложных скриптах и т.д. — везде, где важно знать какая именно ошибка произошла.
🐍 Pythoner
7 · 1.3K ·