> For the complete documentation index, see [llms.txt](https://projects.itproduct.ru/azimut/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://projects.itproduct.ru/azimut/api/vozvrat-oshibok.md).

# Возврат ошибок

1. Все ошибки от API возвращаются всегда в Json формате.
2. Если веб метод не найден, вернется 404 NotFound

```json
{
    "ErrorMessage": "/testerror1 не найден",
    "HttpStatusCode": 404,
    "HttpStatusMessage": "NotFound"
}
```

3. Если произошла непредвиденная ошибка при обработке SQL, вернется 500 InternalServerError

```json
{
    "ErrorMessage": "Could not find stored procedure 'xxx'.",
    "HttpStatusCode": 500,
    "HttpStatusMessage": "InternalServerError"
}
```

При этом ErrorMessage будет заполнено только если API запущено в режиме Development. В остальных режимах клиент не узнает подробности ошибки. Искать ее следует в логах.

4. Если произошла не SQL ошибка, вернется 400 BadRequest

```
{
    "ErrorMessage": "........",
    "HttpStatusCode": 400,
    "HttpStatusMessage": "BadRequest"
}
```

При этом ErrorMessage будет заполнено только если API запущено в режиме Development. В остальных режимах клиент не узнает подробности ошибки. Искать ее следует в логах.

5. Если метод необходимо запускать с авторизацией, но этого сделано не было, вернется 401 Unauthorized

```json
{
    "ErrorCode": 11,
    "ErrorMessage": "Сессия истекла. Перезапустите приложение.",
    "HttpStatusCode": 401,
    "HttpStatusMessage": "Unauthorized"
}
```

6. Если произошла управляемая ошибка, через вызов SY\_RaiseError, вернется 400 BadRequest

```json
{
    "ErrorCode": 10,
    "ErrorMessage": "Ошибка",
    "HttpStatusCode": 400,
    "HttpStatusMessage": "BadRequest"
}
```

ErrorCode - код ошибки, переданный в SY\_RaiseError

ErrorMessage - сообщение, переданное в SY\_RaiseError

Код ошибки должен быть зарегистрирован в таблице SY\_ErrorTypes. Для общей ошибки используйте код 10, уточняя детали в сообщении.

Пример вызова

`exec SY_RaiseError 10, 'Ошибка'`
