Você pode obter informações detalhadas sobre erros retornados pela API ao usar o Atlas Go SDK. Use o código de erro para determinar a causa do erro. Para saber mais sobre os códigos de erro da API, consulte Códigos de erro da API de administração do Atlas .
Os erros são representados por ApiErrorObject.
Buscando objeto de erro
Para buscar o objeto de erro, execute o seguinte:
// Surrounding code omitted for brevity projects, response, err := admin.ProjectsApi.ListProjects(ctx).Execute() apiError, ok := admin.AsError(err) fmt.Println(apiError)
Verificando a existência de um código de erro específico
Para verificar a existência de um código de erro específico (por exemplo MAXIMUM_INDEXES_FOR_TENANT_EXCEEDED ), execute o seguinte:
// Surrounding code omitted for brevity projects, response, err := admin.ProjectsApi.ListProjects(ctx).Execute() if admin.IsErrorCode(err, "code"){ // Do something }
Verificando a existência de um código de status de resposta específico
Para verificar a existência de um código de erro de resposta HTTP específico, execute o seguinte:
// Surrounding code omitted for brevity projects, response, err := admin.ProjectsApi.ListProjects(ctx).Execute() apiError, ok := admin.AsError(err) if ok && apiError.GetError() == 404 { // Do something }
Zombando de erros
Os erros do SDK podem ser simulados criando uma instância da estrutura GenericOpenAPIError .
// Surrounding code omitted for brevity apiError := admin.GenericOpenAPIError{} apiError.SetModel(admin.ApiError{ Detail: admin.PtrString("Error when listing clusters"), Error: admin.PtrInt(400), ErrorCode: admin.PtrString("CLUSTERS_UNREACHABLE"), Reason: admin.PtrString("Clusters unreachable"), }) apiError.SetError("Mocked error")
A estrutura pode ser passada como error para todos os métodos simulados do SDK.