Gur*_*epS 3 .net c# t-sql sql-server
作为开发人员,错误处理和try/catch是我编写的代码中非常重要的一部分.
但是,在SQL Server Stored Procs中,最好在SP中编写错误处理吗?如果没有(这似乎是常见的情况),异常是否会传播到.NET代码?我问这个问题,因为我认为T-SQL的行为类似于C#错误处理.
在T-SQL中编写错误处理的最佳方法是什么?
是的,TRY...CATCH在您的TSQL代码中使用.在这种情况下,例外不会传播给客户端.
无论何时使用RAISEERROR或处理未处理的SQL异常,都会发生传播.
BEGIN TRY
SELECT Foo FROM MyLinkedServer.dbo.SomeTable; --what if the remote server is down?
DECLARE @Baz uniqueidentifier = 15/2; --oops
END TRY
BEGIN CATCH
SELECT @Baz = NEWID();
ROLLBACK TRAN;
--whatever business logic you have for handling your exception.
END CATCH
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
331 次 |
| 最近记录: |