nixsolutions/yandex-php-library — pull request #66 by silverslice (2014-09-15 06:42:56+00:00)
Title: Unauthorized exception

Неудобство существующей системы обработки ошибок проиллюстрировано в примере examples/Metrica/Stat/index.php:

1. Чтобы проверить, есть ли доступ к ресурсу, используется проверка:
`if ($errorMessage === 'PlatformNotAllowed')`. Видимо, пример писался еще до ввода ForbiddenException. Теперь я могу просто перехватить это исключение, т.е. все отлично.

2. Учитывая, что авторизационный токен имеет срок действия, и токен, сохраненный в сесии, может быть невалидным, в клиентском коде я также должен проверить, не возвращяет ли сервис Метрики код ответа 401. Сейчас это приходится делать конструкцией `if ($errorMessage === 'Service responded with error code: "401" and message: "unauthorized"')`, что очень громоздко.

Собственно, предлагаю добавить UnauthorizedException вместо того, чтобы в клиентском коде жестко привязываться к тексту ошибки.