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 aprender más sobre los códigos de error de la API, consulta Códigos de error de la API de administración de Atlas.
Los errores están representados por ApiErrorObject.
Obteniendo objeto de error
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 comprobar la existencia de un código de error específico (por ejemplo, MAXIMUM_INDEXES_FOR_TENANT_EXCEEDED ), ejecute 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 de respuesta HTTP específico, ejecute 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 se pueden simular 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")
La estructura se puede pasar como error para todos los métodos simulados del SDK.