Puede obtener información detallada sobre los errores que devuelve la API al usar el SDK de Atlas Go. Utilice 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, consulte Códigos de error de la API de administración de Atlas.
Los errores están representados por ApiErrorObject.
Obteniendo objeto de error
Para obtener 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 }
Burlándose de errores
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.