Revision: 11922
Updated Code
at September 2, 2009 01:04 by rengber
Updated Code
BEGIN TRY BEGIN TRANSACTION -- Start the transaction -- Delete the Employee's phone numbers DELETE FROM EmployeePhoneNumbers WHERE EmployeeID = @EmployeeID -- Delete the Employee record DELETE FROM Employees WHERE EmployeeID = @EmployeeID -- If we reach here, success! COMMIT END TRY BEGIN CATCH -- Whoops, there was an error IF @@TRANCOUNT > 0 ROLLBACK -- Raise an error with the details of the exception DECLARE @ErrMsg nvarchar(4000), @ErrSeverity int SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() RAISERROR(@ErrMsg, @ErrSeverity, 1) END CATCH
Revision: 11921
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 23, 2009 21:05 by rengber
Initial Code
BEGIN BEGIN TRY DECLARE @Foo as money set @Foo = 1.1 set @Foo = 'foo' --RAISERROR('Foo',1,1) --Note this doesn't work. END TRY BEGIN CATCH PRINT @@Error DECLARE @ErrMsg as NVarchar(1000) set @ErrMsg = ERROR_MESSAGE() PRINT @ErrMsg END CATCH END
Initial URL
http://www.4guysfromrolla.com/webtech/041906-1.shtml
Initial Description
This as it sits isn't an improvement on what happens by default. It's only useful combined with a compensating transaction or sad path in the catch block, or in allowing a loop to continue.
Initial Title
TSQL Try Catch Error Handling
Initial Tags
database
Initial Language
SQL