Lightning データサービスでのエラーの処理

Lightning Data サービスは、サーバのリソース (レコード、オブジェクトなど) にアクセスできない場合にエラーを返します。

たとえば、ワイヤアダプタへの入力が正しくない (例: レコード ID が不正、必須項目が欠落している) 場合には、エラーが発生します。レコードがキャッシュになく、サーバがオフラインである場合にもエラーが返されます。また、サーバ上でリソースが削除されたり、共有や表示の設定が更新されたりすることで、そのリソースにアクセスできなくなる場合もあります。

FetchResponse エラーオブジェクトは、取得 API の応答オブジェクトの後にモデリングされます。これには、レスポンスボディ、状況コード、メッセージが含まれます。

  • body (オブジェクトまたは配列) — 基になる API により定義されたレスポンスボディ。
  • ok (Boolean) — 応答が成功であったかどうかを示します。エラーの場合、ok は常に false で、状況コードは 400 ~ 599 の範囲内となります。
  • status (数字) — 応答の状況コードが含まれます。たとえば、リソースが見つからない場合は 404、内部サーバエラーでは 500 が含まれます。
  • statusText (文字列) — 状況コードに対応する状況メッセージが含まれます。たとえば、状況コード 404 では NOT_FOUND が含まれます。

エラーオブジェクトを使用して、getRecord ワイヤアダプタから返されるエラーを処理します。

JavaScript コードは、エラー本体が配列またはオブジェクトであるかどうかを確認して、エラーメッセージを返します。

エラーのレスポンスボディは、そのエラーを返す API によって異なります。

  • getRecord ワイヤアダプタなどの UI API 読み取り操作では、error.body はオブジェクトの配列として返されます。
  • createRecord ワイヤアダプタなどの UI API 書き込み操作では、error.body はオブジェクトとして返され、多くの場合、オブジェクトレベルおよび項目レベルのエラーを伴います。
  • Apex の読み取りおよび書き込み操作では、error.body はオブジェクトとして返されます。
  • オフラインエラーなどのネットワークエラーでは、error.body はオブジェクトとして返されます。

関連トピック