EDUCBA

EDUCBA

MENUMENU
  • Explore
    • Lifetime Membership
    • All in One Bundles
    • Fresh Entries
    • Finance
    • Data Science
    • Programming and Dev
    • Excel
    • Marketing
    • HR
    • PDP
    • VFX and Design
    • Project Management
    • Exam Prep
    • All Courses
  • Blog
  • Enterprise
  • Free Courses
  • Log in
  • Sign up
Home Data Science Data Science Tutorials SQL Tutorial T-SQL TRY CATCH

T-SQL TRY CATCH

Updated March 16, 2023

Introduction to T-SQL TRY CATCH

T-SQL TRY…CATCH is defined as, it is a block that can be utilized to assess the position of activities in which we can say that it has been built to authorize us to control the exceptions in T-SQL neatly; for making a TRY CATCH block, first, we have to set a group of T-SQL statements if we have statements between TRY and CATCH and if the statements in the TRY block do not have an error then the CATCH block will not be able to implement, and if the TRY block has an error, then the control has been hand over in the CATCH block.

T-SQL TRY CATCH

Start Your Free Data Science Course

Hadoop, Data Science, Statistics & others

What is T-SQL TRY CATCH?

The TRY CATCH block in the T-SQL statements assists in managing the errors, which are the same as we can handle the exception in other programming languages, as the syntax of the TRY CATCH statement allows us to write several statements inside the CATCH block, so if TRY block observes an error then it departs from the try block and gets entered into the CATCH block. It can implement the statements available in the CATCH block, and afterward, it will give back the related error illustration.

The TRY CATCH block has been utilized for managing the errors, and it has been introduced by Microsoft with the help of syntax, as the syntax given below can handle the error conditions.

TRY CATCH Syntax:

BEGIN TRY
-----statements
END TRY
BEGIN CATCH
-----statements
END CATCH

From the above syntax, we have to keep a list of things in mind, such as:

  • Every TRY block has ended with the CATCH block in which we can not write anything between the END TRY and BEGIN CATCH.
  • If the TRY block does not find any error, then that cannot be managed by the CATCH block, in which we can say that the controller can implement the statements after the END CATCH.
  • If the TRY block can find an error, then the control of the TRY block has been directly gone into the CATCH block.
  • The T-SQL TRY CATCH can capture all the severe errors.
  • The TRY CATCH block can allow us to use nested TRY blocks so that the TRY CATCH can be inside another block.
  • And the CATCH block cannot manage the syntax errors mean errors we can find at the compile time.

How to Add T-SQL TRY CATCH?

The TRY CATCH block in the T-SQL has been built to allow us to manage the exception neatly, and the try…catch block has been constructed for putting the set of statements that can cause the exception within BEGIN END TRY.

BEGIN TRY
—–sample statements that cause the exception
END TRY

Then directly, we can able to utilize the BEGIN CATCH…..END CATCH block following the TRY block.

BEGIN CATCH
—–sample statement that manages the exception
END CATCH

Let us see the illustration of the above two statements.

BEGIN TRY
—–sample statements that cause the exception
END TRY
BEGIN CATCH
—–sample statements that manage the exception
END CATCH

The above statement has been illustrated as, if the statement between the TRY block has no error, then the CATCH block will not execute, but if the statement in the TRY block will cause the exception, then that exception has been managed by the CATCH block, so in this way, we can able to add the TRY CATCH block.

T-SQL TRY CATCH Error

Different errors are mentioned below:

  • ERROR_NUMBER: It will give back the internal number of the error, which means the error number.
  • ERROR_STATE: It will give back the state number of a T-SQL error which is the information about the source.
  • ERROR_SEVERITY: It gives back the details about useful errors to the errors which users of the DBA can fix.
  • ERROR_LINE: It gives back the line number concerning the error on it.
  • ERROR_PROCEDURE: It gives back the name of the stored procedure or function.
  • ERROR_MESSAGE: It gives back the essential details, which can be the error message text.

Examples of T-SQL TRY CATCH

Following are two examples in which the first is the simple TRY CATCH block, and the second is the TRY CATCH with transactions.

Example #1

Let us see the example which exhibits a SELECT statement that can generate the divide-by-zero error, and the source of that error implementation can be thrown to the related CATCH block.

Code:

BEGIN TRY
-- to create a divide-by-zero error.
SELECT 2/0;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER () AS FallacyNumber
,ERROR_SEVERITY() AS HarshError
,ERROR_STATE() AS ErrorPosition
,ERROR_PROCEDURE() AS ErrorProcess
,ERROR_LINE() AS ErrorString
,ERROR_MESSAGE() AS ErrorSMS;
END CATCH;
GO

In the above example, as we have the stored procedure in the TRY block, there is an error for which we have written the formula, and the CATCH block can handle it by using ERROR functions.

Example #2

This is an example to exhibit the working of the try…catch block in the transaction where the statement in the TRY block can create a constraint contravention error.

Code:

BEGIN TRANSACTION;
BEGIN TRY
-- Generate a constraint contravention error.
DELETE FROM Presentation.Present
WHERE PresentID = 890;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER () AS FallacyNumber
,ERROR_SEVERITY() AS HarshError
,ERROR_STATE() AS ErrorPosition
,ERROR_PROCEDURE() AS ErrorProcess
,ERROR_LINE() AS ErrorString
,ERROR_MESSAGE() AS ErrorSMS;
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END CATCH;
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
GO

In the above example, we have the stored procedures in which we have utilized the transactions we try to commit in the CATCH block.

Conclusion

In this article, we conclude that the TRY…CATCH block has been utilized to manage the exceptions by following the specific syntax; we have also discussed how to add the T-SQL TRY…CATCH block, error in it, and also described the examples, so this article will help to understand the concept of TRY…CATCH.

Recommended Articles

This is a guide to T-SQL TRY CATCH. Here we discuss the introduction, how to add T-SQL TRY CATCH? and examples. You may also have a look at the following articles to learn more –

  1. SQL ORDER BY DESC
  2. SQL EXECUTE
  3. PL/SQL NOT EQUAL
  4. SQL NOT IN
ADVERTISEMENT
All in One Excel VBA Bundle
500+ Hours of HD Videos
15 Learning Paths
120+ Courses
Verifiable Certificate of Completion
Lifetime Access
ADVERTISEMENT
Financial Analyst Masters Training Program
2000+ Hours of HD Videos
43 Learning Paths
550+ Courses
Verifiable Certificate of Completion
Lifetime Access
ADVERTISEMENT
All in One Data Science Bundle
2000+ Hour of HD Videos
80 Learning Paths
400+ Courses
Verifiable Certificate of Completion
Lifetime Access
ADVERTISEMENT
All in One Software Development Bundle
5000+ Hours of HD Videos
149 Learning Paths
1050+ Courses
Verifiable Certificate of Completion
Lifetime Access
Primary Sidebar
Footer
Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Blog as Guest
Courses
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2023 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

Let’s Get Started

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA
Free Data Science Course

Hadoop, Data Science, Statistics & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

🚀 Extended Cyber Monday Price Drop! All in One Universal Bundle (3700+ Courses) @ 🎁 90% OFF - Ends in ENROLL NOW