TSQL BEGIN TRY 和 BEGIN CATCH 块模式不会捕获由于客户端连接丢失而导致的错误。如何捕获和处理丢失的客户端连接?
我正在设置一个标志,指示在处理单个事务的循环时进行处理,并且 catch 块会在错误时重新设置该标志,但是如果客户端连接丢失,我的 catch 块不会执行......
伪代码:
BEGIN TRY
SET FlagToIndicateProcessing = 1
LOOP START
BEGIN TRANS
DO WORK
COMMIT TRANS
LOOP END
SetSomeValues
SET FlagToIndicateProcessing = 0
END TRY
BEGIN CATCH
SetSomeValues
SET FlagToIndicateProcessing = 0
END CATCH