Kotlin SDK は、開発者が API 呼び出しの失敗を管理できるように例外の階層を使用します。 Kotlin SDK を使用する場合、アプリケーションが処理する必要がある例外は 2 つの主要カテゴリです。
Realm への読み取りまたは書き込みが失敗すると、Realmエラーが発生します。 これらのエラーは RealmException を生成します。
Atlas App Services とのネットワーク通信が失敗すると、アプリ エラーが発生します。 これらのエラーはAppExceptionを生成します。 アプリ エラーの詳細については、「 アプリ エラーの処理 」を参照してください。 同期固有のアプリ エラーの詳細については、 「 同期エラーの処理 」を参照してください。
Realm Errors
Realmエラーは、データベースの読み取りまたは書込み (write) が何らかの理由で失敗した場合に発生します。可能な場合、SDK は IllgealArgmentException や IllealStateException などの既存のプラットフォーム例外を使用します。
通常、これらのエラーは、引数の欠落しているクエリ、書込みトランザクション(write transaction)の外部での書込みを試みる、存在しないオブジェクトの削除など、不適切なデータベース ロジックによって発生します。
ただし、一部のエラーは一時的なものであり、クライアントまたは SDK の制御外の障害によって発生します。 一時的なエラーが発生した場合は、エラーの原因となった操作を再試行する必要があります。 操作を再試行しても失敗する場合は、ロジックの修正を調査します。
Kotlin に組み込まれている runCatching APIを使用して、SDK 内のエラーを処理できます。返された結果のonSuccess
およびonFailure
コールバックを使用して、SDK API呼び出しの成功とエラーケースを処理します。