AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

Error Handling

Atlas Go SDK を使用すると、API によって返されるエラーに関する詳細情報を取得できます。 エラー コードを使用して、エラーの原因を特定します。 API エラー コードの詳細については、「 Atlas 管理 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
}

SDK エラーは、 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")

すべての SDK モックされたメソッドで構造体をerrorとして渡すことができます。