Docs 菜单
Docs 主页
/
MongoDB Atlas
/ / /

Error Handling

当您使用 Atlas Go SDK 时,您可以获取 API 返回的错误的详细信息。 使用错误代码来确定错误原因。 要了解有关 API 错误代码的更多信息,请参阅 Atlas Administration API 错误代码。

错误由 ApiErrorObject 表示。

要获取错误对象,请执行以下命令:

// Surrounding code omitted for brevity
projects, response, err := admin.ProjectsApi.ListProjects(ctx).Execute()
apiError, ok := admin.AsError(err)
fmt.Println(apiError)

检查是否存在特定错误代码(例如 MAXIMUM_INDEXES_FOR_TENANT_EXCEEDED ),执行以下命令:

// Surrounding code omitted for brevity
projects, response, err := admin.ProjectsApi.ListProjects(ctx).Execute()
if admin.IsErrorCode(err, "code"){
// Do something
}

要检查是否存在特定 HTTP 响应错误代码,请执行以下命令:

// 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
}

可以通过创建GenericOpenAPIError结构的实例来模拟 SDK 错误。

// 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")

对于所有 SDK 模拟方法,结构体可以作为error传递。

后退

Fundamentals