En esta guía, aprenderá cómo implementar el manejo de errores en SQL Server utilizando los bloques de prueba y captura.
Si está buscando aprender cómo generar mensajes de error definidos por el usuario, consulte nuestro tutorial en el tutorial de SQL Server RaisError.
Introducción
El intento de atrapar bloques en el servidor SQL le permite predecir y manejar graciosamente los errores que pueden ocurrir en las consultas SQL.
Primero, adjunte las consultas SQL que pueden causar errores dentro de un bloque de try. Luego puede agregar un bloque de captura una vez que se plantea una excepción.
La sintaxis para un bloque de try es como se muestra:
empezar a intentarDespués del bloque de prueba, puede establecer un bloque de captura que sigue sintaxis similar como se muestra:
comenzar a atraparPrimero, el servidor SQL intentará ejecutar el código dentro del bloque de prueba. Si no se produce error/excepción, omita el bloque de captura y continúa con la ejecución.
Sin embargo, si se produce un error dentro del bloque de try, la ejecución salta dentro de la captura y ejecuta el código dentro de ese bloque.
La sintaxis para un bloque de try/captura completo es como se muestra:
empezar a intentarPuede implementar medidas para manejar el error elevado dentro del bloque de captura, como mostrar mensajes usando RaisError e imprimir declaraciones. Recuerde, el mensaje de error dentro del bloque de captura no se devuelve a la aplicación a menos que se use mecanismos, como una instrucción SELECT.
Puede usar funciones especiales para obtener información detallada sobre el error:
Asegúrese de usar las funciones anteriores dentro de un bloque de captura; De lo contrario, devolverán un valor nulo.
SQL Server TRY/Catch Ejemplos
Usemos un error de división por cero para ilustrar cómo usar el bloque de try/captación. Comience creando un procedimiento como se muestra en las siguientes consultas:
-- Obtener información de errorEn el ejemplo anterior, creamos un procedimiento almacenado para recuperar información sobre un error. Entonces, planteamos un error buceando por cero.
Si ejecutamos la consulta anterior, debemos obtener una salida como:
¿Qué sucede si no hay error en el bloque de captura como se muestra?
becarioDado que no hay error en el bloque de prueba, el servidor SQL omite los bloques de captura y devuelve el resultado. Un resultado de ejemplo es como se muestra:
Conclusión
Esta guía cubrió la implementación y el uso del manejo de errores en el servidor SQL utilizando los bloques de prueba/captura. Además, se explicaron y se proporcionaron funciones especiales para recuperar información detallada sobre el error. Esperamos que hayas encontrado este artículo útil. Consulte más artículos de Linux Sugerencia para obtener consejos e información sobre servidores SQL.