Udostępnij przez


Obsługa wyjątków POS (POS dla SDK platformy .NET w wersji 1.14)

Obsługa błędów w usłudze Microsoft Point of Service dla platformy .NET (POS dla platformy .NET) jest oparta na modelu obiektowym zgłaszania i przechwytywania wyjątków. Różne wyjątki są zgłaszane w odpowiedzi na błędy środowiska uruchomieniowego, a każdy wyjątek zawiera informacje o błędzie, który go wyzwolił w postaci ErrorCode.

Właściwość ErrorCode zgłaszanego wyjątku zawiera informacje o przyczynie błędu. Możliwe wartości tej właściwości reprezentują pełny zestaw standardowych kodów błędów unified point of service (UnifiedPOS). Aby uzyskać więcej informacji na temat mapowania między kodami błędów UnifiedPOS a wartościami POS for .NET ErrorCode, zobacz POS for .NET Exception Classes.

Usługa POS dla platformy .NET udostępnia cztery klasy wyjątków, aby ułatwić aplikacjom lepszą obsługę błędów. Są to: PosException, PosControlException, PosManagementException, i PosLibraryException.

  • PosException to abstrakcyjna klasa, która przechowuje ogólne dane wyjątków. PosException pełni rolę podobną do klasy System.Exception w ramach platformy .NET Framework i jest implementacją klasy UposException w specyfikacji UnifiedPOS. Wszystkie inne klasy wyjątków POS dla platformy .NET wywodzą się z PosException.
  • PosControlException to standardowy wyjątek zgłaszany przez usługę POS dla obiektów usługi .NET. PosControlException zawiera właściwość zawierającą ErrorCode informacje o przyczynie wyjątku.
  • PosLibraryException przechowuje dane wyjątku generowane przez narzędzie PosExplorer podczas operacji klasy. PosLibraryException nie zawiera właściwości ErrorCode.
  • PosManagementException zawiera dane wyjątku generowane przez usługę POS dla interfejsów API zarządzania platformy .NET. PosManagementException nie posiada właściwości ErrorCode.

Obsługa błędów w usłudze POS dla platformy .NET

Obsługa błędów w usłudze POS dla platformy .NET jest zgodna z wytycznymi specyfikacji UnifiedPOS. Obsługa błędów jest sterowana zdarzeniami, używa kodów błędów do przechowywania informacji o wyjątkach i jest w dużej mierze specyficzna dla implementacji.

Obsługa błędów w programie POS dla platformy .NET jest zgodna z następującą ogólną procedurą:

  1. Błąd jest generowany przez wejście sterowane zdarzeniami.

  2. Urządzenie zmienia jego State właściwość, aby wskazać, że wystąpił błąd.

  3. Zdarzenie ErrorEvent jest kolejkowane w celu alertu aplikacji o wystąpieniu błędu. Element ErrorEvent jest dodawany na końcu kolejki.

  4. Jeśli co najmniej jedno zdarzenie DataEvent znajduje się w kolejce przed zdarzeniem ErrorEvent, kolejne zdarzenie ErrorEvent jest umieszczane i dodawane na czele kolejki. Ostrzega aplikację szybko o błędzie, aby mogła reagować w sposób specyficzny dla implementacji przed przetworzeniem zakolejkowanych DataEvents.

  5. Jeśli właściwości aplikacji są skonfigurowane do akceptowania zdarzeń (DataEventEnabled ma wartość true i FreezeEvents jest false), odpowiada na zdarzenie ErrorEvent w sposób określony przez ErrorResponse właściwość, jak wskazano w poniższej tabeli.

    Wartość Znaczenie odpowiedzi
    Przejrzysty Czyści wszystkie buforowane zdarzenia DataEvent i ErrorEvent, opuszcza stan Błąd i zmienia stan urządzenia na Bezczynny.
    KontynuujWprowadzanie Potwierdza błąd i kieruje urządzenie do dalszego przetwarzania. Urządzenie pozostaje w stanie Błąd i dostarcza dodatkowe zdarzenia danych zgodnie z ustawieniem właściwości DataEventEnabled. Gdy wszystkie dane wejściowe zostaną dostarczone, a właściwość DataEventEnabled zostanie ponownie ustawiona na wartość true, zostanie dostarczone kolejne zdarzenie ErrorEvent z lokacją Input.
    Retry Przekierowuje urządzenie, aby ponowiło próbę wprowadzenia danych wejściowych. Stan Błędu jest zamykany, a stan jest zmieniany na Stan bezczynności. Ta odpowiedź jest wybierana tylko wtedy, gdy rozdział urządzenia wyraźnie na to zezwala i gdy umiejscowienie to Input.

    Aplikacja może również wykonać kroki specyficzne dla implementacji, aby w tej chwili zareagować na błąd.

Zobacz też

Reference

Koncepcje