Exception
Описание
с версии 0.5.1 внесены изменения в структуру исключений
Правильная структура исключений обеспечивает сохранность нервных клеток.
Структура
Предок для всех исключений в фреймворке - CommonException, и уже от него растут остальные:
CommonException [\Bluz\Common\Exception]
|-- ComponentException
| `-- ConfigurationException
|
|-- ApplicationException - 500
| |-- BadRequestException - 400
| | `-- ValidatorException [\Bluz\Validator\Exception]
| |-- ForbiddenException - 403
| | `-- AclException [\Bluz\Acl]
| |-- NotFoundException - 404
| |-- NotImplementedException - 501
| |-- RedirectException - 302
| |-- ReloadException - 200
| `-- UnauthorizedException - 401
| `-- AuthException [\Bluz\Auth]
|
|-- ConfigException
|-- DbException
`-- ...
Использование
Пример 500-й ошибки:
throw new ApplicationException('Invalid Db connection');
Пример ошибки авторизации:
throw new UnauthorizedException(); // or throw new AuthException()
Пример ошибки доступа:
throw new ForbiddenException(); // or throw new AclException()
Пример редиректа на другую страницу:
throw new RedirectException('/index', 302);