Skip to content

v1.0.2 Рефакторинг эксепшенов

Pre-release
Pre-release
Compare
Choose a tag to compare
@NolikTop NolikTop released this 23 Feb 18:35

Возможно стоило это минорным апдейтом сделать, но в целом изменений не очень много, так что пусть будет патч.

Было решено отказаться от использований эксепшенов в виде SomeError::SOME_ERROR(...); Такой подход мусорил трейсы, мешал созданию новых видов ошибок и в целом выглядел не очень.

Теперь все как у людей. Ну, или, по крайней мере, похоже на что-то нормальное.

Родители всех эксепшенов

Возникающие во время обработки запросов ошибки наследуют RuntimeErrorException.

Возникающие во время инициализации или внутренние ошибки наследуют InternalErrorException.

Ошибки валидаторов типов

Пока не используется, но в дальнейшем планируется - TypeException.

Ошибка, возникающие при получении/добавлении валидатора типа - TypeManagerException.

Ошибки, возникающие при обработке запроса.

Возникающие до обработки контроллером ошибки наследуют RequestException.

Если не указана, или указана несовместимая версия - VersionException.

Ошибки при работе контроллеров

Ошибки контроллеров наследуют ControllerException.

Некорректный ввод - BadInputException.

Указан неизвестный контроллер - UnknownControllerException.

Указан неизвестный метод - UnknownMethodException.

Используется неподдерживаемый HTTP метод - WrongHttpMethodException.