Как создавать custom exceptions?

Middle
235 просмотров
AFK Offer AI

Наследуй от Exception (не от BaseException — тот для SystemExit, KeyboardInterrupt). Простой вариант: class NotFoundError(Exception): pass. Для данных — добавь __init__ с полями: self.message, self.code. Хорошая практика — создать базовый AppError для проекта и наследовать от него. Группируй по модулям: auth_errors.py, payment_errors.py. Не плоди исключения без нужды — если обрабатываешь одинаково, хватит одного типа с разными сообщениями.

Следующий вопрос

Что такое monkeypatch в pytest?