Using try catch in SQL Server stored
procedures with example
To handle exceptions in SQL Server we can use TRY…… CATCH blocks. To use
TRY…… CATCH blocks in stored procedure we need to write the query like as shown
below
BEGIN TRY
---Write Your
Code
END TRY
BEGIN CATCH
---Write Code to
handle errors
END CATCH
In TRY block we will write our queries and in CATCH block we will write
code to handle exceptions. In our SQL statements if any error occurs
automatically it will move to CATCH block in that we can handle error messages.
To handle error messages we have defined Error Functions in CATCH block those
are
ERROR_LINE() - This function
will return error line number of SQL query which cause to raise error.
ERROR_NUMBER() - This function
will return error number which is unique and assigned to it.
ERROR_SEVERITY() - This function
will return severity of error which indicates how serious the error is. The values
are between 1 and 25.
ERROR_STATE() - This function
will return state number of error message which cause to raise error.
ERROR_PROCEDURE() - This function
will return name of the procedure where an error occurred.
ERROR_MESSAGE() - This function
will return the complete text of the error message which cause to raise error.
Check below sample query to handle errors in
stored procedure
CREATE PROCEDURE uspTryCatchTest
AS
BEGIN TRY
SELECT 1/0
END TRY
BEGIN CATCH
SELECT ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
END CATCH
Output :
ErrorNumber ErrorSeverity ErrorState ErrorProcedure ErrorLine ErrorMessage
8134 16 1 NULL 2
Divide by zero error encountered.
No comments:
Post a Comment