Puedes obtener información detallada sobre los errores que devuelve la API cuando usas el Atlas Go SDK. Utiliza el código de error para determinar la causa del error. Para obtener más información sobre los códigos de error de la API, consulta Códigos de Error de la API de Administración de Atlas.
Los errores se representan con ApiErrorObject.
Objeto de error de obtención
Para buscar el objeto de error, ejecute lo siguiente:
// Surrounding code omitted for brevity projects, response, err := admin.ProjectsApi.ListProjects(ctx).Execute() apiError, ok := admin.AsError(err) fmt.Println(apiError)
Comprobación de la existencia de un código de error específico
Para verificar la existencia de un código de error específico (p. ej. MAXIMUM_INDEXES_FOR_TENANT_EXCEEDED ), ejecuta lo siguiente:
// Surrounding code omitted for brevity projects, response, err := admin.ProjectsApi.ListProjects(ctx).Execute() if admin.IsErrorCode(err, "code"){ // Do something }
Comprobación de la existencia de un código de estado de respuesta específico
Para comprobar la existencia de un código de error HTTP específico en la respuesta, realiza lo siguiente:
// 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 }
Errores de simulación
Los errores del SDK pueden simularse creando una instancia de la estructura 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")
Struct puede pasarse como error para todos los métodos simulados del SDK.