[英]How to find what type of exception occur from SQL Server Try Catch while executing stored procedure
我正在執行其中包含一些代碼的存儲過程,並將其放入try catch塊中,例如
BEGIN Transaction Tran1
BEGIN Try
//Stored procedure code
COMMIT TRANSACTION Tran1
END Try
BEGIN Catch
ROLLBACK TRANSACTION Tran1
raiserror('Cannot commit transaction', 16, 1, @@error);
return;
END Catch
當發生任何錯誤時,它會轉到Catch
塊並引發錯誤(這是用戶定義的錯誤),但不會引發實際發生的錯誤類型。 因此,當從前端執行該錯誤時,如何像在C#中那樣真正發生什么類型的錯誤?
Try
{
//Some code
}
Catch(Exception ex)
{
MessageBox.Show(ex.message);
}
請為此提供解決方案
你可以試試
BEGIN Transaction Tran1
BEGIN Try
//Stored procedure code
COMMIT TRANSACTION Tran1
END Try
BEGIN Catch
ROLLBACK TRANSACTION Tran1
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.