zuxel
Новичок
Разрабатываю api для сайта, параллельно пишу клиента для этого api. Пытаюсь решить вопрос как лучше сделать обработку ошибок, видел, что часто активно используется обработка исключений, но мне в этом способе не нравится необходимость каждый запрос оборачивать двойными, а то и тройными catch.
Я склоняюсь к такой схеме: запрос к api возвращает только данные(результат запроса) или false (false обозначает только ошибку, а пустой результат - это пустой массив), все исключения отлавливаются библиотекой, но при необходимости пользователь может получить ошибку(если она была) опросив переменную класса, т.е. как-то так:
Понятно, что такой код обработки не лучше чем каждый раз обертывать в catch, но не всегда надо обрабатывать ошибку, иногда можно просто пропустить обработку, если данные не были получены.
Как думаете, как лучше сделать?
Я склоняюсь к такой схеме: запрос к api возвращает только данные(результат запроса) или false (false обозначает только ошибку, а пустой результат - это пустой массив), все исключения отлавливаются библиотекой, но при необходимости пользователь может получить ошибку(если она была) опросив переменную класса, т.е. как-то так:
PHP:
if (false === ($r = $api->call('user.get'))) { // empty result of user.get is an empty array, so FALSE means an error
switch ($api->getError()->getCode()){
case 'CODE_1':
break;
.............
}
return false;
}
// obtained data proccessing here
Как думаете, как лучше сделать?