Skip to content
Anton edited this page May 15, 2015 · 7 revisions

Описание

с версии 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);