مثال try catch در sql server
TRY CATCH در پایگاه داده SQL Server
در این نوشته کوتاه به نحوه error handling با استفاده از try catch در sql server می پردازیم.
بررسی اجمالی
امکانجدیدی که در SQL Server 2005 به بعد اضافه شد ، امکان استفاده از الگوی Try..Catch برای بدام اندازی خطا زمان اجرا است که در سایر زبان های برنامه نویسی نیز به نوعی وجود دارد. بدام اندازی خطا در SQL Server همیشه کار ساده ای نبوده است ، بنابراین قطعاً این گزینه امکان مدیریت خطاها را بسیار ساده تر می کند.
توضیح
الگوی Try ... Catch در واقع دو بلاک کد درون رویه های ذخیره شده شما قرار می گیرد که به شما امکان اجرای برخی از کد ها را می دهد ، در بخش Try اگر خطایی وجود داشته باشد ، کنترل اجرا به بخش Catch منتقل می شود.
بیایید با هم یک نمونه از چگونگی انجام این کار را بررسی کنیم. همانطور که مشاهده می کنید ما از یک عبارت SELECT استفاده می کنیم که در قسمت TRY موجود است ، اما به دلایلی در صورت عدم اجرای موفق ، کد را در بخش CATCH اجرا کرده و اطلاعات مربوط به خطا را برمی گردانیم.
CREATE PROCEDURE dbo. TryCatchTestSample
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