Compartilhar via


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

O tratamento de erros no Ponto de Serviço da Microsoft para .NET (POS para .NET) baseia-se no modelo orientado a objetos de lançar e capturar exceções. Exceções diferentes são geradas em resposta a erros de runtime e cada exceção contém informações sobre o erro que o disparou na forma de um ErrorCode.

A propriedade ErrorCode de uma exceção gerada contém informações sobre a causa do erro. Os valores possíveis para essa propriedade representam o conjunto completo de códigos de erro padrão UnifiedPOS (Unified Point Of Service). Para obter mais informações sobre o mapeamento entre os códigos de erro UnifiedPOS e os valores ErrorCode do POS para .NET, consulte as Classes de Exceção do POS para .NET.

O POS para .NET fornece quatro classes de exceção para ajudar os aplicativos a lidar melhor com erros. Estes são PosException, PosControlException, PosManagementExceptione PosLibraryException:

  • PosException é uma classe abstrata que contém dados gerais de exceção. PosException atende a uma função semelhante à da classe System.Exception no .NET Framework e é o POS para implementação .NET da classe UposException na especificação UnifiedPOS. Todas as outras classes de exceção do POS para .NET são derivadas de PosException.
  • PosControlException é a exceção padrão gerada pelo POS para objetos de serviço .NET. PosControlException contém uma ErrorCode propriedade que contém informações sobre a causa da exceção.
  • PosLibraryException contém os dados de exceção gerados pelo PosExplorer durante operações de classe. PosLibraryException não contém uma propriedade ErrorCode .
  • PosManagementException contém os dados de exceção gerados pelo POS para APIs de gerenciamento do .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 de especificação do UnifiedPOS. O tratamento de erros é controlado por eventos, usa códigos de erro para armazenar informações de exceção e é em grande parte específico da implementação.

O tratamento de erros no POS para .NET segue este procedimento geral:

  1. Um erro é gerado pela entrada controlada por eventos.

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

  3. Um evento ErrorEvent é enfileirado para alertar o aplicativo de que ocorreu um erro. O ErrorEvent é adicionado ao final da fila.

  4. Se um ou mais eventos DataEvent forem enfileirados na frente do evento ErrorEvent, outro ErrorEvent será enfileirado e adicionado ao início da fila. Isso avisa o aplicativo sobre o erro rapidamente para que ele possa responder de maneira específica à implementação antes de processar qualquer DataEvents enfileirado.

  5. Se as propriedades de aplicativos estiverem configuradas para aceitar eventos (DataEventEnabled for true e FreezeEvents for false), ele responderá ao evento ErrorEvent de maneira determinada pela ErrorResponse propriedade, conforme indicado na tabela a seguir.

    Value Significado da resposta
    Limpar Limpa todos os eventos DataEvent em buffer e eventos ErrorEvent, sai do estado de erro e altera o estado do dispositivo para inativo.
    ContinuarEntrada Reconhece o erro e orienta o dispositivo a continuar o processamento. O dispositivo permanece no estado de erro e fornecerá eventos de dados adicionais, conforme definido pela propriedade DataEventEnabled. Quando todas as entradas são entregues e a propriedade DataEventEnabled é novamente definida como true, outro ErrorEvent é entregue com a entrada de locus.
    Retry Direciona o dispositivo para tentar novamente a entrada. O Estado de Erro é encerrado, e o estado é alterado para ocioso. Essa resposta só é selecionada quando o capítulo do dispositivo especificamente permite e quando o locus é Entrada.

    O aplicativo também pode executar etapas específicas de implementação para responder ao erro no momento.

Consulte Também

Referência

Conceitos