Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O tratamento de erros no Microsoft Point of Service for .NET (POS for .NET) baseia-se no modelo orientado a objetos de lançar e apanhar exceções. Diferentes exceções são lançadas em resposta a erros em tempo de execução, e cada exceção contém informação sobre o erro que a desencadeou sob a forma de um ErrorCode.
A propriedade ErrorCode de uma exceção lançada contém informação sobre a causa do erro. Os valores possíveis para esta propriedade representam o conjunto completo de códigos de erro padrão do Unified Point Of Service (UnifiedPOS). Para mais informações sobre o mapeamento entre os códigos de erro UnifiedPOS e o POS para valores ErrorCode .NET, consulte Classes de Exceção do POS para .NET.
O POS para .NET fornece quatro classes de exceção para ajudar as aplicações a lidar melhor com erros. Estes são PosException, PosControlException, PosManagementException, e PosLibraryException:
- PosException é uma classe abstrata que contém dados gerais de exceção. PosException cumpre um papel semelhante ao da classe System.Exception no .NET Framework, e é o POS para a implementação .NET da classe UposException na especificação UnifiedPOS. Todas as outras classes de exceção POS para .NET são derivadas do PosException.
- PosControlException é a exceção padrão lançada pelo POS para os Objetos de Serviço .NET. PosControlException contém uma ErrorCode propriedade que contém informação sobre a causa da exceção.
- PosLibraryException mantém os dados de exceção gerados pelo PosExplorer durante as operações da classe. PosLibraryException não contém uma propriedade ErrorCode .
- PosManagementException mantém os dados de exceção gerados pelo POS para APIs de gestão .NET. PosManagementException não contém uma propriedade ErrorCode .
Tratamento de Erros no POS para .NET
O tratamento de erros no POS para .NET está em conformidade com as diretrizes da especificação UnifiedPOS. O tratamento de erros é orientado por eventos, utiliza códigos de erro para armazenar informação de exceção e é largamente específico da implementação.
O tratamento de erros no POS para .NET segue este procedimento geral:
Um erro é gerado por uma entrada orientada a eventos.
O dispositivo altera a sua State propriedade para indicar que encontrou um erro.
Um evento ErrorEvent é colocado em fila para alertar a aplicação de que ocorreu um erro. O ErrorEvent é adicionado ao final da fila.
Se um ou mais eventos DataEvent estiverem em fila à frente do evento ErrorEvent , outro ErrorEvent é colocado em fila e adicionado no início da fila. Isto avisa rapidamente a aplicação sobre o erro para que possa responder de forma específica à implementação antes de processar quaisquer DataEvents em fila.
Se as propriedades da aplicação estiverem configuradas para aceitar eventos (DataEventEnabled é verdadeiro e FreezeEventsfalso), responde ao evento ErrorEvent de uma forma determinada pela ErrorResponse propriedade, conforme indicado na tabela seguinte.
Valor Significado da Resposta Limpar Limpa quaisquer eventos DataEvent e ErrorEvent em buffer, sai do estado Error e altera o estado do dispositivo para Idle. ContinueInput Confirma o erro e orienta o dispositivo a continuar o processamento. O dispositivo mantém-se no estado de erro e irá entregar eventos de dados adicionais conforme orientado pela propriedade DataEventEnabled. Quando toda a entrada é entregue e a propriedade DataEventEnabled é novamente definida como true, outro ErrorEvent é entregue com a entrada locus. Retry Orienta o dispositivo a tentar novamente a entrada. O estado de erro é encerrado e o estado é alterado para inativo. Esta resposta só é selecionada quando o capítulo do dispositivo a permite especificamente e quando o locus é Input. A aplicação pode também tomar medidas específicas da implementação para responder ao erro neste momento.