/
outthevoid
/
python_microblogging_service_project
Обзор
Документация
Войти
/
outthevoid
/
python_microblogging_service_project
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
app/core/exceptions.py
136 строк
5 KB
VladimirChukavin
Revert "Вернул проект в исходное состояние."
07 апр 2026, 14:01
07 апр 2026, 14:01
7531b60
Код
Авторство
О чём код?
class AppException(Exception): """ Базовое прикладное исключение с унифицированным форматом ошибки. Класс определяет общие атрибуты прикладных исключений, включая HTTP-статус, тип ошибки и сообщение, а также позволяет переопределить текст ошибки при создании экземпляра. :ivar status_code: HTTP-статус, связанный с исключением. :vartype status_code: int :ivar error_type: Машиночитаемый тип ошибки. :vartype error_type: str :ivar error_message: Текстовое описание ошибки. :vartype error_message: str """ status_code: int error_type: str error_message: str def __init__(self, error_message: str | None = None) -> None: """ Инициализирует прикладное исключение. Если передано пользовательское сообщение, оно заменяет сообщение ошибки по умолчанию, определённое на уровне класса. :param error_message: Пользовательский текст ошибки. :type error_message: str | None :returns: ``None`` :rtype: None """ if error_message is not None: self.error_message = error_message super().__init__(self.error_message) class AuthenticationError(AppException): """ Исключение ошибки аутентификации. Используется в случаях, когда пользователь не прошёл проверку подлинности или не предоставил корректные учётные данные. :ivar status_code: HTTP-статус ошибки аутентификации. :vartype status_code: int :ivar error_type: Машиночитаемый тип ошибки аутентификации. :vartype error_type: str :ivar error_message: Сообщение ошибки аутентификации по умолчанию. :vartype error_message: str """ status_code = 401 error_type = "authentication_error" error_message = "Authentication failed" class ValidationError(AppException): """ Исключение ошибки валидации данных. Используется, когда входные данные не соответствуют ожидаемому формату или бизнес-ограничениям. :ivar status_code: HTTP-статус ошибки валидации. :vartype status_code: int :ivar error_type: Машиночитаемый тип ошибки валидации. :vartype error_type: str :ivar error_message: Сообщение ошибки валидации по умолчанию. :vartype error_message: str """ status_code = 400 error_type = "validation_error" error_message = "Validation failed" class NotFoundError(AppException): """ Исключение отсутствия сущности. Используется, когда запрошенная сущность не найдена в системе. :ivar status_code: HTTP-статус ошибки отсутствия сущности. :vartype status_code: int :ivar error_type: Машиночитаемый тип ошибки отсутствия сущности. :vartype error_type: str :ivar error_message: Сообщение ошибки по умолчанию. :vartype error_message: str """ status_code = 404 error_type = "not_found" error_message = "Entity not found" class ForbiddenError(AppException): """ Исключение ошибки доступа. Используется, когда пользователь аутентифицирован, но не имеет прав на выполнение запрошенного действия. :ivar status_code: HTTP-статус ошибки доступа. :vartype status_code: int :ivar error_type: Машиночитаемый тип ошибки доступа. :vartype error_type: str :ivar error_message: Сообщение ошибки доступа по умолчанию. :vartype error_message: str """ status_code = 403 error_type = "forbidden" error_message = "Access denied" class ConflictError(AppException): """ Исключение конфликта данных или состояния. Используется, когда операция не может быть выполнена из-за конфликта с текущим состоянием данных. :ivar status_code: HTTP-статус ошибки конфликта. :vartype status_code: int :ivar error_type: Машиночитаемый тип ошибки конфликта. :vartype error_type: str :ivar error_message: Сообщение ошибки конфликта по умолчанию. :vartype error_message: str """ status_code = 409 error_type = "conflict_error" error_message = "Conflict"