Skip to main content
O SDK expõe duas classes de erro: YoukaRequestError para falhas de HTTP e validação, e YoukaTaskError para tarefas assíncronas que terminaram em um estado não bem-sucedido. Ambas estendem Error e carregam campos estruturados para que você possa ramificar por código, status e possibilidade de retry.

YoukaRequestError

Lançado para erros HTTP, falhas de validação de requisição e respostas malformadas.

Campos

string
Código de erro legível por máquina, por exemplo INVALID_REQUEST, UNAUTHORIZED, UPLOAD_FAILED.
string
Descrição legível por humanos.
number
Código de status HTTP, se disponível.
boolean
true se o SDK considerar que vale a pena tentar novamente (limites de taxa, erros transitórios de servidor, repetição idempotente em andamento).
unknown
Detalhes fornecidos pelo servidor, normalmente uma lista de issues do Zod para erros de validação.

Códigos comuns

YoukaTaskError

Lançado a partir de client.tasks.wait(...), client.projects.wait(...) e client.exports.wait(...) quando a tarefa subjacente ou a exportação termina em failed, cancelled ou timed-out.

Campos

'TASK_FAILED' | 'TASK_CANCELLED' | 'TASK_TIMED_OUT'
Mapeia diretamente para o status terminal da tarefa.
string
Ou a mensagem de erro da tarefa fornecida pelo servidor, ou um fallback gerado.
TaskStatus
O status terminal da tarefa.
RestTask
O payload completo da tarefa no momento da falha. Útil para logs e mensagens de erro voltadas ao usuário.

Padrão de retry

Combine retryable com uma chave de idempotência para construir um loop de retry seguro:
Sempre reutilize a mesma chave de idempotência em todas as tentativas. Caso contrário, o servidor trata o retry como uma nova requisição e você pode acabar com duplicatas.

Abort e cancelamento

Abortar uma requisição lança um AbortError padrão — não um YoukaRequestError. Verifique explicitamente:

Próximos passos

  • Tasks — helpers de espera e polling avançado de tasks
  • Authentication — opções do construtor e signals
  • API errors — os mesmos códigos em HTTP puro