que diferencia hay entre tu codigo y el que puse???
Código SQL:
Ver originalBEGIN TRY
DECLARE @divisor INT ,
@dividendo INT,
@resultado INT
SET @dividendo = 100
SET @divisor = 0
-- Esta linea provoca un error de division por 0
SET @resultado = @dividendo/@divisor
PRINT 'No hay error'
END TRY
BEGIN CATCH
PRINT 'Se ha producido un error'
END CATCH
encuentrala y quizas encuentres una bonita sorpresa :)