martes, 18 de octubre de 2011

Lanzar excepciones en SQL Server 2008 R2

Si en medio de un procedimiento almacenado de SQL Server 2008 quieres lanzar una excepción  personalizada puedes hacerlo mediante el uso del método RAISEERROR.

Si quieres añadir información detallada en cuanto a la descripción del error, puedes utilizar las funciones ERROR_MESSAGE(), ERROR_SEVERITY() y ERROR_STATE().

En el siguiente ejemplo te muestro cómo hacerlo de forma sencilla:

DECLARE @error_msg AS VARCHAR(MAX)
DECLARE @error_severity AS INTEGER
DECLARE @error_state AS INTEGER

-- introduce aquí una sentencia que provoque error

SET @error_msg = ERROR_MESSAGE()
SET @error_severity = ERROR_SEVERITY()
SET @error_state = ERROR_STATE()

RAISERROR (@error_msg, @error_severity, @error_state);

Para que el código anterior sea plenamente funcional en tus procedimientos, acuérdate de utilizar TRY CATCH.

No hay comentarios:

Publicar un comentario