You could do it this way:CREATE PROCEDURE usp_GetErrorInfo (@ErrorNumber INT,@ErrorSeverity INT,@ErrorState INT,@ErrorProcedure NVARCHAR(126),@ErrorLine INT,@ErrorMessage NVARCHAR(2048) )ASINSERT YourErrorTable ( Columns... )VALUES ( @ErrorNumber, @ErrorSeverity, @ErrorState, @ErrorProcedure, @ErrorLine, @ErrorMessage )GOBEGIN TRY-- Generate divide-by-zero error.SELECT 1/0;END TRYBEGIN CATCH-- Execute error retrieval routine.EXECUTE usp_GetErrorInfo ERROR_NUMBER(), ERROR_SEVERITY(), ERROR_STATE(), ERROR_PROCEDURE(), ERROR_LINE(), ERROR_MESSAGE()END CATCH;