Reasignación de mensajes de error en Jitterbit App Builder
Descripción general
App Builder permite a los desarrolladores proporcionar mensajes de reemplazo comunes y fáciles de usar para errores de excepción de la base de datos. Proporcionar mensajes fáciles de usar puede ayudar a los usuarios que no están familiarizados con la tecnología de bases de datos a comprender qué ha sucedido cuando se produce un error. Reemplazar mensajes de error como... Violation of PRIMARY KEY constraint 'PK_ProductInt'
con algo más comprensible como Record already exists
puede contribuir significativamente a mejorar la experiencia del usuario.
Para reasignar un mensaje de error, primero se deben realizar varios pasos para identificar la excepción:
-
El tipo de base de datos se determina mediante la coincidencia de las propiedades de la excepción:
-
Nombre del tipo: Este es el nombre completo de la clase de excepción
-
Origen: Este es el paquete de ensamblaje para la DLL
-
Se intenta una coincidencia del mensaje de error de la base de datos utilizando expresiones regulares para el mensaje de excepción y los parámetros de datos.
- Primero, se escanea la lista de mensajes de excepción específicos de la base de datos en
Index
orden - Si no se encuentra ninguna coincidencia, se escanea la lista de entradas de mensajes de excepción general en
Index
Orden
- Primero, se escanea la lista de mensajes de excepción específicos de la base de datos en
Si no se encuentra ninguna coincidencia, el mensaje de excepción no se modificará.
Mapeo de tipos de bases de datos
La asignación de tipos de base de datos permite al desarrollador asignar clases de excepción a tipos de base de datos específicos. De esta forma, se puede examinar un conjunto más reducido de mensajes de excepción al intentar reasignar un mensaje de excepción.
De forma predeterminada, App Builder incluye muchos de los tipos de bases de datos habituales predefinidos. En el improbable caso de que se requiera una nueva entrada, un desarrollador puede realizar los siguientes pasos para agregar una nueva asignación de base de datos:
-
Vaya a App Builder IDE > Configuración > Mensajes de error:
-
Haga clic en el botón Configurar de la barra de herramientas en el panel Tipo de base de datos:
-
Haga clic en Crear
-
Seleccione su Tipo de base de datos y complete la siguiente información:
-
Nombre del tipo: El nombre completo de la clase de excepción (p. ej.,
System.Data.SqlClient.SqlException
) - Origen: Campo opcional para proporcionar el nombre del ensamblado de la DLL. Este campo es útil si se reasigna un tipo de excepción del sistema para un ensamblado específico. Por ejemplo, el tipo de base de datos Rest reasigna el tipo de sistema.
System.InvalidOperationException
para elVinyl.DataSource.Rest
Solo ensamblaje. -
Descripción: Campo opcional para proporcionar una descripción de la entrada.
-
Haga clic en el icono de marca de verificación para guardar la entrada.
Ahora los mensajes de error de excepción se pueden asignar al tipo de base de datos configurado.
Mensajes de error
Para reasignar correctamente un mensaje de error, se debe crear una entrada inteligente y fácil de usar en la tabla de mensajes de error. Las entradas se pueden agregar a una de dos listas:
- Un mensaje de error para un tipo de base de datos específico (p. ej.,
Microsoft SQL Server
) - Un mensaje de error para cualquier tipo de base de datos
Cuando se encuentra una excepción de base de datos, se examina primero la lista de mensajes de error del tipo de base de datos asignado. Si no se encuentra ninguna coincidencia, se examina la lista de mensajes de tipo de base de datos no específico (mensajes de error con un tipo de base de datos NULL). Cada lista está ordenada por Index
.
Para ingresar un nuevo mensaje de error:
- Vaya a App Builder IDE > Configuración > Mensajes de error
-
Haga clic en Crear en el panel Errores e ingrese los detalles:
Parámetros del mensaje de error
La lista de parámetros para un mensaje de error es la siguiente:
Mensaje
El mensaje de reemplazo que se mostrará al usuario. Este mensaje puede incluir parámetros de sustitución en forma de grupos de captura de expresiones regulares con nombre (del mensaje de excepción). Pattern
) o nombres de parámetros de datos de excepción utilizando App Builder {{nombre}}
Sintaxis.
Patrón
Este es el patrón de expresión regular utilizado para encontrar el mensaje de excepción. Este patrón puede especificar grupos de captura con nombre, por ejemplo: Capture group 'Key' inside quotation marks "(?<Key>.*)"
.
Nota
El patrón utiliza coincidencias de expresiones regulares de una sola línea. Actualmente no se admiten coincidencias de varias líneas.
Patrón de ejemplo:
Parámetro | Valor |
---|---|
Ejemplo | Violation of PRIMARY KEY constraint 'PK_OrderDetails'. |
Patrón | ^Violation of PRIMARY KEY constraint '(?<Key>.*)'. |
Mensaje | Row already exists for key '{{Key}}'. |
Resultados Row already exists for key 'PK_OrderDetails'
la coincidencia comienza al principio de la cadena. Incluye un grupo de captura llamado Key
que coincide PK_OrderDetails
Entre comillas simples.
Ejemplo
Este es un ejemplo de mensaje de excepción que coincidirá con el especificado. Pattern
Si se introduce un ejemplo, se validará la expresión regular del patrón.
Índice
El índice permite ordenar los mensajes de error. Tenga en cuenta que Index
No es una clave única. Múltiples mensajes de error pueden compartir la misma Index
ya que la mayoría de los partidos no se pueden ordenar correctamente. Por defecto, Index
Se establece en 100 y, en la mayoría de los casos, es lógico dejarlo como está. Sin embargo, algunas coincidencias pueden, obviamente, moverse al principio o al final de la lista de procesamiento. Por ejemplo, si el desarrollador desea crear un patrón general que coincida con cualquier cadena (de modo que el mensaje de excepción siempre se reasigna incluso si todas las coincidencias anteriores fallan), podría usar un valor muy alto. Index
Valor (p. ej., 9999).
Datos de excepción
El Data
También se puede hacer coincidir el diccionario de parámetros de una excepción. Esto es útil cuando una excepción contiene un mensaje genérico, pero tiene detalles específicos de la excepción en el... Data
diccionario. Hay tres Data
Entradas que se pueden agregar a un mensaje de error. Para ver la lista completa de parámetros de datos de excepción, haga doble clic en el mensaje de error.
Name
: El nombre del parámetro de datos de excepciónRegex
La expresión regular que se compara con el valor del parámetro de datos de excepción.
Sustituciones
Como se mencionó anteriormente, la facilidad de uso Message
Puede incluir sustituciones que se resuelven en:
- Un grupo de captura con nombre en el
Pattern
o - Un nombre de parámetro de datos de excepción
La sintaxis de las sustituciones es {{nombre}}
y se puede utilizar en cualquier lugar dentro del Message
.
Envío de mensajes de usuario
Las asignaciones de tipos de bases de datos de usuario y los mensajes de error se incluyen con los LP creados en la instancia de App Builder. Al instalar un LP en otra instancia de App Builder, también se instalarán esas entradas de usuario. Esto sigue el mismo patrón que las funciones mvSQL definidas por el usuario. Las nuevas entradas se activan inmediatamente después de la instalación. Actualmente, no es posible desactivar esta función.