Partilhar via


Tratamento de Exceções POS (Documentação do SDK do POS para .NET v1.14)

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:

  1. Um erro é gerado por uma entrada orientada a eventos.

  2. O dispositivo altera a sua State propriedade para indicar que encontrou um erro.

  3. Um evento ErrorEvent é colocado em fila para alertar a aplicação de que ocorreu um erro. O ErrorEvent é adicionado ao final da fila.

  4. 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.

  5. 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.

Ver também

Reference

Conceitos