Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Menu Docs

Error Handling

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.

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)

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
}

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
}

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.