Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 modulu runtime 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 hodnotami ErrorCode v POS pro .NET naleznete v tématu třídy výjimek POS pro .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 plní roli podobnou třídě System.Exception v .NET Frameworku a je implementací POS pro .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:
Vstup řízený událostmi vyvolá chybu.
Zařízení změní jeho State vlastnost tak, aby značila, že došlo k chybě.
Událost ErrorEvent je zařazena do fronty a upozorní aplikaci, že došlo k chybě. ErrorEvent se přidá na konec fronty.
Pokud se před ErrorEvent událostmi do fronty zařadí jedna nebo více událostí DataEvent, zařadí se do fronty další ErrorEvent a přidá se na začátek 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.
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 Jasný Vymaže všechny události DataEvent ve vyrovnávací paměti a události ErrorEvent, ukončí stav chyby a změní stav zařízení do nečinného stavu. Pokračovat ve Vstupu 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 vlastnost DataEventEnabled je znovu nastavena na true, je doručena další ErrorEvent s markerem Input. Retry 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é reagují na chybu v tuto chvíli.