SQL错误表&;存储过程

SQL错误表&;存储过程,sql,tsql,stored-procedures,Sql,Tsql,Stored Procedures,我在每个存储过程的末尾都有一段在web上找到的代码: ROLLBACK TRANSACTION PRINT '-----START: ERROR DETAILS-----' PRINT ERROR_NUMBER() PRINT ERROR_SEVERITY() PRINT ERROR_STATE() PRINT ERROR_PROCEDURE() PRINT ERROR_LINE()

我在每个存储过程的末尾都有一段在web上找到的代码:

ROLLBACK TRANSACTION

         PRINT '-----START: ERROR DETAILS-----'
         PRINT ERROR_NUMBER()
         PRINT ERROR_SEVERITY()
         PRINT ERROR_STATE()
         PRINT ERROR_PROCEDURE()
         PRINT ERROR_LINE()
         PRINT ERROR_MESSAGE()
         PRINT '-----END: ERROR DETAILS-----'

            DECLARE @prmErrmsg NVARCHAR(4000);
            DECLARE @prmErrSvr INT;

            SELECT @prmErrmsg = ERROR_MESSAGE()
                ,@prmErrSvr = ERROR_SEVERITY();

            INSERT INTO dbo.myErrors
                        ([ErrorMessage]
                        ,[ErrorSeverity]
                        ,[DateCreated])
                 VALUES
                        (@prmErrmsg
                        ,@prmErrSvr
                        ,GetutcDate())


            RAISERROR(@prmErrmsg,@prmErrSvr,1)
它正在将条目写入myErrors表,但没有写入错误消息或错误严重性

我的第一个问题是为什么

我认为这与错误严重性在一定范围内有关

我如何告诉它总是记录详细的错误消息,而不管其严重程度如何?

根据,错误消息()等仅在TRY的CATCH块中设置。。。捕获语句