Compartir a través de


Control de excepciones de POS (documentación del SDK de POS para .NET v1.14)

El control de errores en Microsoft Point of Service para .NET (POS para .NET) se basa en el modelo orientado a objetos de lanzar y capturar excepciones. Se producen excepciones diferentes en respuesta a errores en tiempo de ejecución y cada excepción contiene información sobre el error que lo desencadenó en forma de ErrorCode.

La propiedad ErrorCode de una excepción lanzada contiene información sobre la causa del error. Los valores posibles para esta propiedad representan el conjunto completo de códigos de error estándar de punto de servicio unificado (UnifiedPOS). Para obtener más información sobre la asignación entre códigos de error UnifiedPOS y los valores POS para .NET ErrorCode, consulte las clases de excepción de POS para .NET Exception Classes.

POS para .NET proporciona cuatro clases de excepción para ayudar a las aplicaciones a controlar mejor los errores. Estos son PosException, PosControlException, PosManagementExceptiony PosLibraryException:

  • PosException es una clase abstracta que contiene datos generales de excepciones. PosException cumple un rol similar al de la clase System.Exception en .NET Framework y es el POS para la implementación de .NET de la clase UposException en la especificación UnifiedPOS. El resto de pos para las clases de excepción de .NET se derivan de PosException.
  • PosControlException es la excepción estándar producida por POS para objetos de servicio de .NET. PosControlException contiene una ErrorCode propiedad que contiene información sobre la causa de la excepción.
  • PosLibraryException contiene los datos de excepción generados por PosExplorer durante las operaciones de clase. PosLibraryException no contiene una propiedad ErrorCode .
  • PosManagementException contiene los datos de excepción generados por POS para las API de administración de .NET. PosManagementException no contiene una propiedad ErrorCode .

Control de errores en POS para .NET

El control de errores en POS para .NET es compatible con las directrices de especificación unifiedPOS. El control de errores está controlado por eventos, usa códigos de error para almacenar información de excepciones y es en gran medida específico de la implementación.

El control de errores en POS para .NET sigue este procedimiento general:

  1. Una entrada controlada por eventos produce un error.

  2. El dispositivo cambia su State propiedad para indicar que ha encontrado un error.

  3. Se pone en cola un evento ErrorEvent para alertar a la aplicación de que se ha producido un error. ErrorEvent se agrega al final de la cola.

  4. Si uno o varios eventos DataEvent se ponen en cola delante del evento ErrorEvent, se pone en cola otro ErrorEvent y se agrega al principio de la cola. Esto advierte a la aplicación sobre el error rápidamente para que pueda responder de manera específica a la implementación antes de procesar cualquier DataEvents en cola.

  5. Si las propiedades de las aplicaciones están configuradas para aceptar eventos (DataEventEnabled es true y FreezeEvents es false), responde al evento ErrorEvent de una manera determinada por la ErrorResponse propiedad , como se indica en la tabla siguiente.

    Importancia Significado de la respuesta
    Clear Borra los eventos DataEvent almacenados en búfer y los eventos ErrorEvent, sale del estado Error y cambia el estado del dispositivo a Inactivo.
    ContinuarEntrada Confirma el error y dirige al dispositivo para continuar con el procesamiento. El dispositivo permanece en estado Error y proporcionará eventos de datos adicionales según lo indicado por la propiedad DataEventEnabled. Cuando se han entregado todos los datos de entrada y la propiedad DataEventEnabled vuelve a establecerse en true, se entrega otro ErrorEvent con el locus Input.
    Retry Dirige al dispositivo para volver a intentar la entrada. El estado Error se cierra y el estado se cambia a Inactivo. Esta respuesta solo se selecciona cuando el capítulo del dispositivo lo permite específicamente y cuando el locus es Input.

    La aplicación también puede realizar pasos específicos de la implementación para responder al error en este momento.

Véase también

Referencia

Conceptos