次の方法で共有


EventProcessorClient.OnProcessingErrorAsync メソッド

定義

イベント プロセッサ インフラストラクチャの操作内で予期しない例外が発生したときに必要なタスクを実行します。

protected override System.Threading.Tasks.Task OnProcessingErrorAsync (Exception exception, Azure.Messaging.EventHubs.Primitives.EventProcessorPartition partition, string operationDescription, System.Threading.CancellationToken cancellationToken);
override this.OnProcessingErrorAsync : Exception * Azure.Messaging.EventHubs.Primitives.EventProcessorPartition * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Protected Overrides Function OnProcessingErrorAsync (exception As Exception, partition As EventProcessorPartition, operationDescription As String, cancellationToken As CancellationToken) As Task

パラメーター

exception
Exception

イベント プロセッサの操作中に発生した例外。

partition
EventProcessorPartition

エラーに関連付けられているパーティションのコンテキスト (存在する場合)。それ以外の場合は null。 これは、エラーが発生した時点に応じて、 の EventProcessorPartitionメンバーに対してのみ初期化できます。

operationDescription
String

例外が発生した操作の短いテキストによる説明。は情報提供のみを目的としています。

cancellationToken
CancellationToken

CancellationToken処理を取り消す要求を通知する インスタンス。 これは、プロセッサがシャットダウンするときに発生する可能性が最も高いです。

戻り値

注釈

このエラー ハンドラーは、イベント プロセッサ自体で例外が発生したときに呼び出されます。これは、プロセッサの操作に重要ではないイベントやその他のオーバーライドや拡張ポイントを処理するために実装されたコード内の例外に対しては呼び出されません。 イベント プロセッサは、例外から回復し、処理を続行するためにあらゆる努力をします。 回復できない例外が発生した場合、プロセッサは処理していたすべてのパーティションの所有権を失い、作業を再配布しようとします。

このメソッドに表示される例外は、致命的または致命的ではない可能性があります。プロセッサは例外が致命的かどうか、またはその状態が破損したかどうかを正確に予測できない可能性があるため、このメソッドは、処理を終了するか再起動するかを決定する必要があります。 このメソッドは、プロセッサ インスタンスで Stop を呼び出し、必要に応じてプロセッサで Start を呼び出すことによって実行できます。

運用環境のシナリオでは、このエラー ハンドラーによって行われた観察、パーティションの処理を初期化するときに呼び出されるメソッド、およびパーティションの処理が停止したときに呼び出されるメソッドを考慮して決定することをお勧めします。 多くの開発者は、この決定にも監視プラットフォームからのデータを含めます。

イベント処理と同様に、エラー ハンドラーのコードで例外が発生した場合、イベント プロセッサはバブル処理を許可し、どのような方法でも処理を試みません。 開発者は、例外シナリオを考慮し、必要に応じて try/catch ブロックやその他の手段を使用してそれらに対して保護することを強くお勧めします。

適用対象