例外の処理
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このトピックでは、xConnectによって返される可能性のある例外と、その例外が発生する可能性がある場合について説明します。
XdbUnavailableExceptionの
XdbUnavailableExceptionの
XdbUnavailableException例外は、xConnectサービスが利用できないか、リクエストがタイムアウトしたことを示します。XdbCollectionUnavailableException例外とXdbSearchUnavailableException例外はどちらもXdbUnavailableExceptionを継承します。
XdbExecutionExceptionの
XdbExecutionExceptionの
xConnectは、バッチ内の1つ以上の操作の実行に失敗した場合にXdbExecutionExceptionをスローします。 client.GetOperations() を使用して、失敗した特定の操作を選択します。次の例では、PhoneNumberListファセットがすでに存在するために失敗した操作を選択します。
-
Statusプロパティは、すべての操作で使用できます (XdbOperationStatus.Failed、操作が失敗したことを示します)
-
Result.StatusプロパティはSetFacetOperation操作とAddContactIdentifier操作で使用できます - 接続エラーによって操作の実行が妨げられた場合、Resultプロパティはnullになることがあります
-
すべての操作には、ネストされたExceptionプロパティがあります
XdbExecutionExceptionの後に操作を再試行する
失敗した操作を再試行するには、client.RegisterOperation() メソッドを使用してクライアントに追加し、バッチを再送信します。これは、接続の問題が原因で操作が失敗した場合に便利です。
同時実行の問題が原因で操作が失敗した場合は、同時実行 のトピックを参照してください。
次の例では、xConnectが1つ以上の操作が失敗したことを示すXdbExecutionExceptionを返した後、操作が再試行されます。