Реализация протокола JSON-RPC 2.0 в ZF допускает только коды ошибок:
const ERROR_PARSE = -32768;
const ERROR_INVALID_REQUEST = -32600;
const ERROR_INVALID_METHOD = -32601;
const ERROR_INVALID_PARAMS = -32602;
const ERROR_INTERNAL = -32603;
const ERROR_OTHER = -32000;
плюс, диапазон (-32099, -32000)
Они определены в спецификации JSON-RPC как предварительно определенные и / или зарезервированные. По крайней мере, это то, что выходит из спецификации:
Коды ошибок от -32768 до -32000 включительно зарезервированы для предварительно определенных ошибок. Любой код в этом диапазоне, но не определенный явно ниже, зарезервирован для использования в будущем. Коды ошибок почти такие же, как те, которые предлагаются для XML-RPC по следующему URL: http://xmlrpc -epi.sourceforge. сеть / данные / rfc.fault_codes.php
код сообщения
-32700 Ошибка синтаксического анализа. Сервер получил недопустимый файл JSON.
Произошла ошибка на сервере при анализе текста JSON.
-32600 Неверный запрос Отправленный JSON не является допустимым объектом запроса.
-32601 Метод не найден Метод не существует / недоступен.
-32602 Неверные параметры. Неверные параметры метода.
-32603 Внутренняя ошибка Внутренняя ошибка JSON-RPC.
От -32000 до -32099 Ошибка сервера Зарезервировано для ошибок сервера, определенных реализацией.
Остальная часть пространства доступна для ошибок, определенных приложением.
Нигде не говорится, что вы не можете, например, использовать -100 или 100. Я что-то упустил?
Где-то я думаю, что "ошибка сервера" и "ошибка приложения" были перепутаны ZF как одно и то же, в то время как при чтении ссылки на sourcefourge выше, очевидно, что авторы протокола имели в виду нечто иное, что позволяло разработчикам приложений Много места:
Кроме того, диапазон -32099 .. -32000 включительно зарезервирован для ошибок, определенных реализацией сервера. Ошибки сервера, которые не отображаются точно в конкретную ошибку, определенную в этой спецификации, должны быть назначены на номер в этом диапазоне. Это оставляет остаток пространства доступным для ошибок, определенных приложением.