Существует ли стандарт для ошибок / кодов ошибок ?

В настоящее время я пишу API / несколько клиентов для шахматных игр.

Разработчики должны обращаться к API через один скрипт (xhrframework.php) и отправлять действия через GET. Возможно, они делают некоторые ошибки при отправке действий (PHPSESSID не отправлен, нет действительного PHPSESSID, ход был недействительным, сейчас не их очередь, ...).

Итак, я подумал о возможностях отображения ошибок.Я придумал несколько идей, как сообщить программисту, что он сделал ошибку:

  1. через сообщение об ошибке на ясном английском языке
    • +: Ясно, какая ошибка должна mean
    • +: Можно добавить информацию, как исправить эту ошибку
    • -: Сообщение может измениться, так как мой английский не очень хороший
    • -: Длина сообщения сильно отличается - это может быть важно для программистов на C
  2. через константу сообщения об ошибке ab на английском языке - что-то вроде WRONG_PHPSESSID, MISSING_PHPSESSID, INVALID_MOVE, NOT_YOUR_TURN, ...
    • +: Это понятно для человека
    • 0: Почти наверняка сообщение не изменится
    • -: Длина сообщения может немного отличаться
  3. из-за кода ошибки с одной таблицей в документации, где программист может найти значение ошибки code
    • +: Код ошибки будет постоянным
    • +: Длина каждого кода ошибки может быть одинаковой
    • -: Это загадочно

Я думаю, третье решение может быть хорошей идеей, так как xhrfra Доступ к mework.php должен иметь только программист, который, возможно, уже ознакомился с документацией по API.

Теперь я хотел бы знать, существует ли стандарт для сообщений об ошибках Web-API. Как другие (например, Google Maps API) решили эту проблему? Должен ли я просто выводить пустую страницу с содержимым «ERROR: 004» или без заполнения «ERROR: 4»?

Какие ошибки должны получать какие номера? Нет смысла группировать ошибки по их номерам, напримервсе ошибки, начинающиеся с 1, были ошибками аутентификации, все ошибки с двумя логическими ошибками игры? Было бы лучше начать с ошибки 1 и использовать каждое число?

Google Maps API

Если я сделаю неправильный вызов JS-API Google Maps, он вернет Java-Script с сообщение на чистом немецком языке (так как я живу в Германии, наверное).

API статических карт Google возвращает сообщение в виде текста на понятном английском языке, если я сделаю неправильный вызов .

11
задан Martin Thoma 12 November 2011 в 10:58
поделиться