¿Cómo se utiliza TRY….CATCH para corregir errores del servidor SQL?

Share on facebook
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp
Share on email
Share on print
VALORACIÓN DEL ARTÍCULO:
5/5


La sentencia TRY….CATCH de Transact-SQL detecta y gestiona las condiciones de error en las aplicaciones de bases de datos. Esta declaración es la piedra angular de la gestión de errores de SQL Server y es una parte importante del desarrollo de aplicaciones de bases de datos robustas. TRY….CATCH se aplica a SQL Server a partir de 2008, Azure SQL Database, Azure SQL Data Warehouse y Parallel Data Warehouse.

Presentamos TRY…CATCH

TRY….CATCH funciona permitiéndole especificar dos sentencias Transact-SQL: una que desea “probar” y otra que puede utilizar para “detectar” cualquier error que pueda surgir. Cuando SQL Server encuentra una instrucción TRY….CATCH, ejecuta inmediatamente la instrucción incluida en la cláusula TRY. Si la sentencia TRY se ejecuta correctamente, SQL Server sigue adelante. Sin embargo, si la sentencia TRY genera un error, SQL Server ejecuta la sentencia CATCH para manejar el error de forma sencilla.

La sintaxis básica toma esta forma:

INICIO DE PRUEBA 
{ sql_statement | bloque de instrucciones }
FINALIZAR PRUEBA
COMENZAR CAPTURA
[ { sql_statement | statement_block } ]
END CATCH
[ ; ]

Ejemplo de TRY...CATCH

Es fácil entender el uso de esta declaración a través de un ejemplo. Imagine que usted es el administrador de una base de datos de recursos humanos que contiene una tabla denominada "Empleados", que contiene información sobre cada uno de los empleados de su organización. Esa tabla utiliza un número entero de identificación de empleado como clave primaria. Puede intentar utilizar la siguiente declaración para insertar un nuevo empleado en su base de datos:

INSERT INTO employees(id, first_name, last_name, extension)
.VALORES(12497, 'Mike', 'Chapple', 4201)

En circunstancias normales, esta expresión añadiría una línea a la tabla Empleados. Sin embargo, si un empleado con ID 12497 ya existe en la base de datos, la inserción de la fila violaría la restricción de la clave primaria y daría como resultado el siguiente error:

Msg 2627, Nivel 14, Estado 1, Línea 1
.Violación de la restricción PRIMARY KEY 'PK_employee_id'. No se puede insertar una clave duplicada en el objeto'dbo.employees'.
.La declaración ha sido cancelada.

Aunque este error le proporciona la información que necesita para solucionar el problema, hay dos problemas con él. Primero, el mensaje es críptico. Incluye códigos de error, números de línea y otra información incomprensible para el usuario medio. En segundo lugar, y lo que es más importante, hace que la sentencia se interrumpa y podría causar un fallo de la aplicación.
La alternativa es envolver la declaración en una declaración TRY....CATCH, como se muestra aquí:

INICIO DE PRUEBA 
INSERTAR EN empleados ( id, nombre, apellido, extensión)
.VALORES(12497, 'Mike', 'Chapple', 4201)
FINALIZAR PRUEBA
COMENZAR CAPTURA
PRINT 'ERROR: ' + ERROR_MESSAGE( );
EXEC msdb.dbo.sp_send_dbmail
@nombre_del_perfil =
'Correo del empleado@recipientes = @'hr@foo.com',
@body = @body = 'Se ha producido un error al crear un nuevo registro de empleado',
>.Asunto = @'Error de duplicación de ID de empleado' ;
FIN DE LA CAPTURA

En este ejemplo, cualquier error que se produzca se informa tanto al usuario que ejecuta el comando como a la dirección de correo electrónico de hr@foo.com El error que se muestra al usuario es:

Error: Violación de la restricción PRIMARY KEY 'PK_employee_id'.
No se puede insertar una clave duplicada en el objeto'dbo.employees'.
.Correo en cola.

La ejecución de la aplicación continúa normalmente, permitiendo al programador manejar el error. El uso de la sentencia TRY....CATCH es una forma elegante de detectar y manejar proactivamente los errores que se producen en las aplicaciones de bases de datos de SQL Server.

Más información

Si desea obtener más información sobre el lenguaje de consulta estructurado, consulte Introducción a SQL.

Deja un comentario

TAMBIÉN TE INTERESA

iPhone y Air Pods.

Las características destacadas de iOS 14

Cada año en septiembre, Apple lanza una nueva versión de su sistema operativo – iOS 14 –, el año pasado sucedió el 16 de septiembre. El nombre “iOS” se compone de la típica “i” de Apple y la abreviatura “OS”, que significa “sistema operativo”. En principio, iOS no es más que un sistema operativo estándar para iPhones.

Todo lo que debes saber del nuevo iPhone 12

Las características destacadas del nuevo iPhone 12

Probablemente hay pocos eventos que los fanáticos de los teléfonos inteligentes esperan tanto como el lanzamiento de nuevos dispositivos. Los partidarios de Apple, en particular, están en llamas cuando el próximo iPhone está a punto de ser lanzado. Como ninguna otra compañía de teléfonos inteligentes, Apple sabe cómo presentar a sus usuarios nueva tecnología en grandes notas

tendencias en low code

Tendencias en el área de Low Code

¿Qué pasará con la transformación digital en 2021 y qué papel jugarán las tecnologías de low code en esto? hemos identificado las tendencias con miras al desarrollo de software basado en modelos. ¿Será el 2021 el “año de Low-Code “? Al menos los analistas estiman que tres cuartas partes de todas las aplicaciones comerciales de este año se desarrollarán

seguridad y mantenimiento smartphone

Mantenimiento smartphone: consejos para un mejor cuidado y seguridad de tu teléfono

Hablamos de consejos de mantenimiento smartphone. Ya sea en el trabajo o en la vida privada, la seguridad de tu smartphone se ha convertido en una parte integral de muchas áreas. En los servicios de mensajería se envían mensajes privados y Clouds almacena fotos personales. Para no perder esta información confidencial, los propietarios de teléfonos móviles deben proteger sus teléfonos inteligentes. No se debe

tecnología QLED de Samsung

Televisores QLED, OLED, Micro-LED y Mini-LED

Los sistemas OLED, QLED, etc. ofrecen una excelente nitidez de imagen con detalles impresionantes, colores brillantes y un contraste gigantesco del negro profundo al blanco brillante: los televisores han alcanzado un nivel de calidad notable. Varias tecnologías de pantalla compiten por la mejor calidad de imagen. Las primeras pantallas planas tuvieron que ponerse al día en

Cómo instalar Linux junto con Windows

Cómo instalar Linux junto con Windows en 8 pasos

¿Te gustaría saber cómo instalar Linux en Windows, pero solo tienes una computadora? No hay problema, ambos funcionan en paralelo, con muy poco esfuerzo. Ejecutar Linux y Windows en la misma máquina es bastante fácil: simplemente eliges qué sistema iniciar al arrancar. Todos los pasos necesarios se pueden encontrar aquí muy sencillamente explicados. Índice de contenidos1 ¿Cómo