Tuesday, March 31, 2015

Try Catch Block

Hi,


I am trying to develop best try catch block to be standardized in all of the SPs. Below is what I have right now developed which is giving me proper formatted output, would like to add more details or remove unwanted items from it.


Thanks for all your help!


I am using 2008 R2 Version, would be migrating to 2012 soon.



BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION
END

DECLARE @ErrorMsg varchar(2100);

SET @ErrorMsg = ' DBName = ' + DB_NAME() + CHAR(10)
+ ' ErrorMessage = ' + LTRIM(CONVERT(VARCHAR(2047), LEFT(Error_Message(),2044))) + CHAR(10)
+ ' Procedure = ' + OBJECT_NAME(@@PROCID) + CHAR(10) + ' ErrorNumber = ' +
LTRIM(CONVERT(VARCHAR(9),Error_Number())) + CHAR(10)
+ ' ErrorState = ' + LTRIM(CONVERT(VARCHAR(3),Error_State())) + CHAR(10)
+ ' ErrorSeverity = ' + LTRIM(CONVERT(VARCHAR(3),Error_Severity())) + CHAR(10)
+ ' LineNumber = ' + LTRIM(CONVERT(VARCHAR(9),Error_Line())) + CHAR(10)
+ ' ErrorDT = ' + CONVERT(VARCHAR(23),GETDATE(),121) + CHAR(10) + ' ErrorBy = ' + SUSER_SNAME();


RAISERROR(@ErrorMsg,16,1);
RETURN -1
END CATCH







Neil



No comments:

Post a Comment