Microsoft Point of Service for .NET (.NET 用 POS) でのエラー処理は、例外のスローとキャッチのオブジェクト指向モデルに基づいて構築されています。 ランタイム エラーに応じて異なる例外がスローされ、各例外には、 ErrorCodeの形式でトリガーされたエラーに関する情報が含まれます。
スローされた例外の ErrorCode プロパティは、エラーの原因に関する情報を保持します。 このプロパティに指定できる値は、標準の Unified Point Of Service (UnifiedPOS) エラー コードの完全なセットを表します。 UnifiedPOS エラー コードと .NET ErrorCode 値の POS の間のマッピングの詳細については、.NET 例外クラスの POS を参照してください。
POS for .NET には、アプリケーションがエラーをより適切に処理するのに役立つ 4 つの例外クラスが用意されています。 これらは、 PosException、 PosControlException、 PosManagementException、および PosLibraryExceptionです。
- PosException は、一般的な例外データを保持する抽象クラスです。 PosException は、.NET Framework の System.Exception クラスと同様の役割を果たし、UnifiedPOS 仕様の UposException クラスの .NET 実装のための POS です。 .NET 例外クラスの他のすべての POS は、 PosException から派生します。
- PosControlException は、.NET サービス オブジェクトの POS によってスローされる標準例外です。 PosControlException には、例外の原因に関する情報を保持する ErrorCode プロパティが含まれています。
- PosLibraryException は、クラス操作中に PosExplorer によって生成された例外データを保持します。 PosLibraryException に ErrorCode プロパティが含まれていません。
- PosManagementException は、.NET 管理 API の POS によって生成された例外データを保持します。 PosManagementException に ErrorCode プロパティが含まれていません。
.NET の POS でのエラー処理
POS for .NET でのエラー処理は、UnifiedPOS 仕様のガイドラインに準拠しています。 エラー処理はイベントドリブンであり、エラー コードを使用して例外情報を格納し、主に実装固有です。
POS for .NET でのエラーの処理は、次の一般的な手順に従います。
イベント駆動入力によってエラーが発生します。
デバイスは、 State プロパティを変更して、エラーが発生したことを示します。
ErrorEvent イベントがキューに登録され、エラーが発生したことをアプリケーションに警告します。 ErrorEvent がキューの末尾に追加されます。
1 つ以上の DataEvent イベントが ErrorEvent イベントの前にキューに登録されている場合、別の ErrorEvent がキューに登録され、キューの先頭に追加されます。 これにより、キューに登録された DataEvent を処理する前に実装固有の方法で応答できるように、エラーに関するアプリケーションに迅速に警告が表示されます。
アプリケーションのプロパティがイベントを受け入れるように構成されている場合 (DataEventEnabled が true で、FreezeEventsが false の場合)、次の表に示すように、 プロパティによって決定された方法で ErrorResponse イベントに応答します。
価値 応答の意味 透明 バッファー内の DataEvent イベントと ErrorEvent イベントをクリアし、エラー状態を終了して、デバイスの状態をアイドル状態に変更します。 入力継続 エラーを確認し、処理を続行するようにデバイスに指示します。 デバイスはエラー状態のままであり、DataEventEnabled プロパティの指示に従って追加のデータ イベントを配信します。 すべての入力が配信され、DataEventEnabled プロパティが再び true に設定されている場合、別の ErrorEvent が子入力と共に配信されます。 リトライ 入力を再試行するようにデバイスに指示します。 エラー状態が終了し、状態がアイドル状態に変更されます。 この応答は、デバイスの章で特に許可されている場合と、軌跡が Input の場合にのみ選択されます。 アプリケーションは、現時点でエラーに応答するために実装固有の手順を実行することもできます。
こちらもご覧ください
リファレンス
概念
.NET