Docs Menu
Docs Home
/
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
}

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として渡すことができます。

戻る

Fundamentals