Sdílet prostřednictvím


Zpracování výjimek POS (Dokumentace k sadě POS pro .NET v1.14 SDK)

Zpracování chyb v Microsoft Point of Service pro .NET (POS pro .NET) je postavené na objektově orientovaném modelu vyvolání a zachycení výjimek. Různé výjimky jsou vyvolány v reakci na chyby za běhu a každá výjimka obsahuje informace o chybě, která ji aktivovala ve formě ErrorCode.

Vlastnost ErrorCode vyvolané výjimky obsahuje informace o příčině chyby. Možné hodnoty pro tuto vlastnost představují úplnou sadu standardních kódů chyb Unified Point Of Service (UnifiedPOS). Další informace o mapování mezi kódy chyb UnifiedPOS a POS pro hodnoty .NET ErrorCode naleznete v tématu POS pro třídy výjimek .NET.

POS pro .NET poskytuje čtyři třídy výjimek, které pomáhají aplikacím lépe zpracovávat chyby. Toto jsou PosException: PosControlExceptionPosManagementExceptionPosLibraryException

  • PosException je abstraktní třída, která obsahuje obecná data výjimek. PosException splňuje podobnou roli jako System.Exception třídy v rozhraní .NET Framework a je POS pro implementaci .NET Třídy UposException ve specifikaci UnifiedPOS. Všechny ostatní poS pro třídy výjimek .NET jsou odvozeny z PosException.
  • PosControlException je standardní výjimka vyvolaná poS pro objekty služby .NET. PosControlException obsahuje ErrorCode vlastnost, která obsahuje informace o příčině výjimky.
  • PosLibraryException uchovává data výjimek vygenerovaná nástrojem PosExplorer během operací třídy. PosLibraryException neobsahuje vlastnost ErrorCode .
  • PosManagementException obsahuje data výjimek generovaná poS pro rozhraní API pro správu .NET. PosManagementException neobsahuje vlastnost ErrorCode .

Zpracování chyb v POS pro .NET

Zpracování chyb v POS pro .NET odpovídá pokynům pro specifikaci UnifiedPOS. Zpracování chyb je řízené událostmi, používá kódy chyb k ukládání informací o výjimce a je do značné míry specifické pro implementaci.

Zpracování chyb v POS pro .NET se řídí tímto obecným postupem:

  1. Vstup řízený událostmi vyvolá chybu.

  2. Zařízení změní jeho State vlastnost tak, aby značila, že došlo k chybě.

  3. Událost ErrorEvent je zařazena do fronty a upozorní aplikaci, že došlo k chybě. ChybaEvent se přidá na konec fronty.

  4. Pokud se před událostí ErrorEvent zařadí jedna nebo více událostí DataEvent do fronty, zařadí se do fronty jiná událost ErrorEvent a přidá se do hlavní fronty. Aplikace tak upozorní na chybu rychle, aby před zpracováním všech dat ve frontě DataEvents reagovala konkrétním způsobem implementace.

  5. Pokud jsou vlastnosti aplikací nakonfigurovány tak, aby přijímaly události (DataEventEnabled je true a FreezeEvents je false), reaguje na událost ErrorEvent způsobem určeným ErrorResponse vlastností, jak je uvedeno v následující tabulce.

    Hodnota Význam odpovědi
    Vymazat Vymaže všechny události DataEvent v vyrovnávací paměti a události ErrorEvent, ukončí stav chyby a změní stav zařízení na nečinný.
    ContinueInput Bere na vědomí chybu a nasměruje zařízení, aby pokračovalo ve zpracování. Zařízení zůstane ve stavu Error a podle pokynů vlastnosti DataEventEnabled doručí další datové události. Pokud byl doručen veškerý vstup a DataEventEnabled vlastnost je znovu nastavena na true, další ErrorEvent se doručí se vstupem androidu.
    Zkusit znovu Nasměruje zařízení k opakování vstupu. Stav Chyby se ukončí a stav se změní na nečinný. Tato odpověď je vybrána pouze v případě, že kapitola zařízení výslovně umožňuje a kdy je vstupem.

    Aplikace může také provést kroky specifické pro implementaci, které v tuto chvíli reagují na chybu.

Viz také

Reference

Koncepty