Исключения и ошибки
Handle TypeSafe API errors, rate limits, connection failures, and timeouts.
Обработка ошибок TypeSafe API, ограничений частоты запросов (rate limits), сбоев подключения и таймаутов.
export function SdkSignature({children}) {
async function copy(event) {
const button = event.currentTarget;
const code = button.parentElement.querySelector("pre code");
try {
await navigator.clipboard.writeText(code.textContent);
button.setAttribute("aria-label", "Signature copied");
button.dataset.copied = "true";
} catch {
button.setAttribute("aria-label", "Copy failed; select the signature to copy");
}
setTimeout(() => {
button.setAttribute("aria-label", "Copy signature");
delete button.dataset.copied;
}, 2000);
}
return
{children}}
Базовое исключение (Base exception)
typesafe\_sdk.TypeSafeError
Базовые классы: Exception
Базовое исключение для всех ошибок SDK.
Ошибки HTTP (HTTP errors)
typesafe\_sdk.TypeSafeAPIError
Базовые классы: TypeSafeError
Неуспешный HTTP-ответ с телом ответа и метаданными запроса.
status
instance-attribute
status = status
Код состояния HTTP-ответа.
body
instance-attribute
body = body
JSON-тело ошибки от сервера, простой текст ответа или None при пустом теле.
headers
instance-attribute
headers = headers
Заголовки HTTP-ответа.
endpoint
instance-attribute
endpoint = endpoint
HTTP-метод и URL запроса (без учетных данных, параметров запроса или фрагмента), если доступны.
request\_id
property
{" "}
{"str"}{" "}
{"|"}{" "}
{"None"} {"\n"}
Заголовок ответа x-typesafe-request-id или None, если он отсутствует.
typesafe\_sdk.TypeSafeBadRequestError
Базовые классы: TypeSafeAPIError
Запрос был некорректным (400).
typesafe\_sdk.TypeSafeAuthenticationError
Базовые классы: TypeSafeAPIError
Ошибка аутентификации (401).
typesafe\_sdk.TypeSafePermissionDeniedError
Базовые классы: TypeSafeAPIError
В доступе отказано (403).
typesafe\_sdk.TypeSafeNotFoundError
Базовые классы: TypeSafeAPIError
Ресурс не найден (404).
typesafe\_sdk.TypeSafeUnprocessableEntityError
Базовые классы: TypeSafeAPIError
Запрос не прошел валидацию на стороне сервера (422).
typesafe\_sdk.TypeSafeRateLimitError
Базовые классы: TypeSafeAPIError
Превышен лимит запросов (429).
retry\_after\_ms
instance-attribute
retry_after_ms = parse_retry_after(headers)
Запрошенное сервером время ожидания в миллисекундах или None, если значение недоступно.
typesafe\_sdk.TypeSafeInternalServerError
Базовые классы: TypeSafeAPIError
Ошибка сервера при обработке запроса (5xx).
Ошибки подключения (Connection errors)
typesafe\_sdk.TypeSafeAPIConnectionError
Базовые классы: TypeSafeError, ConnectionError
Запрос завершился сбоем без получения HTTP-ответа.
typesafe\_sdk.TypeSafeAPITimeoutError
Базовые классы: TypeSafeAPIConnectionError, TimeoutError
Время ожидания запроса превысило заданный таймаут.
timeout
instance-attribute
timeout = timeout
Значение таймаута, использованное для запроса (в секундах или как httpx2.Timeout).
Валидация ответа (Response validation)
typesafe\_sdk.TypeSafeAPIResponseValidationError
Базовые классы: TypeSafeAPIError
Успешный HTTP-ответ, в теле которого отсутствовали обязательные данные либо они имели некорректную структуру.
field\_path
instance-attribute
field_path = field_path
Путь через точку к проблемному полю, например answers.tone.confidence.
args
instance-attribute
args = (
status,
body,
headers,
field_path,
endpoint,
)