Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La gestion des erreurs dans Microsoft Point of Service pour .NET (POS pour .NET) est basée sur le modèle orienté objet de lancer et intercepter des exceptions. Différentes exceptions sont levées en réponse aux erreurs d’exécution, et chaque exception contient des informations sur l’erreur qui l’a déclenchée sous la forme d’un ErrorCode.
La propriété ErrorCode d’une exception levée contient des informations sur la cause de l’erreur. Les valeurs possibles pour cette propriété représentent l’ensemble complet de codes d’erreur Unified Point Of Service (UnifiedPOS) standard. Pour plus d'informations sur le mappage entre les codes d'erreur UnifiedPOS et les valeurs ErrorCode de POS pour .NET, consultez les classes d'exception de POS pour .NET.
POS pour .NET fournit quatre classes d’exception pour aider les applications à mieux gérer les erreurs. Il s’agit des éléments suivants PosException: PosControlExceptionPosManagementExceptionPosLibraryException
- PosException est une classe abstraite qui contient des données d’exception générales. PosException remplit un rôle similaire à celui de la classe System.Exception dans le .NET Framework, et est la pos pour l’implémentation .NET de la classe UposException dans la spécification UnifiedPOS. Toutes les autres classes d’exception POS pour .NET sont dérivées de PosException.
- PosControlException est l’exception standard levée par POS pour les objets de service .NET. PosControlException contient une ErrorCode propriété qui contient des informations sur la cause de l’exception.
- PosLibraryException contient les données d’exception générées par PosExplorer pendant les opérations de classe. PosLibraryException ne contient pas de propriété ErrorCode .
- PosManagementException contient les données d’exception générées par les API de gestion .NET liées au POS. PosManagementException ne contient pas de propriété ErrorCode .
Gestion des erreurs dans pos pour .NET
La gestion des erreurs dans POS pour .NET est conforme aux instructions de spécification UnifiedPOS. La gestion des erreurs est pilotée par les événements, utilise des codes d’erreur pour stocker les informations d’exception et est en grande partie spécifique à l’implémentation.
La gestion des erreurs dans POS pour .NET suit cette procédure générale :
Une erreur est levée par une entrée pilotée par les événements.
L’appareil modifie sa State propriété pour indiquer qu’il a rencontré une erreur.
Un événement ErrorEvent est mis en file d’attente pour alerter l’application qu’une erreur s’est produite. ErrorEvent est ajouté à la fin de la file d’attente.
Si un ou plusieurs événements DataEvent sont mis en file d’attente devant l’événement ErrorEvent, un autre événement ErrorEvent est mis en file d’attente et ajouté à la tête de la file d’attente. Cela avertit l’application de l’erreur rapidement afin qu’elle puisse répondre de manière spécifique à l’implémentation avant de traiter les DataEvents mis en file d’attente.
Si les propriétés des applications sont configurées pour accepter les événements (DataEventEnabled a la valeur true et FreezeEvents est false), elle répond à l’événement ErrorEvent de manière déterminée par la ErrorResponse propriété, comme indiqué dans le tableau suivant.
Valeur Signification de la réponse Effacer Efface les événements DataEvent mis en mémoire tampon et les événements ErrorEvent, quitte l’état d’erreur et modifie l’état de l’appareil en état d’inactivité. ContinueInput Reconnaît l’erreur et dirige l’appareil à poursuivre le traitement. L’appareil reste dans l’état d’erreur et fournit des événements de données supplémentaires comme indiqué par la propriété DataEventEnabled. Lorsque toutes les entrées ont été fournies et que la propriété DataEventEnabled est à nouveau définie sur true, un autre ErrorEvent est délivré avec le locus Input. Réessayer Dirige l’appareil pour réessayer l’entrée. L’état d’erreur est quitté et l’état est changé en Inactif. Cette réponse est sélectionnée uniquement lorsque le chapitre de l’appareil l’autorise spécifiquement et lorsque le locus est Entrée. L’application peut également prendre des mesures spécifiques à l’implémentation pour répondre à l’erreur pour l’instant.