我对块的 MSDN 文档有疑问TRY CATCH
。查看这篇文章并向下滚动到示例 C“使用 TRY…CATCH 和 XACT_STATE”
http://msdn.microsoft.com/en-us/library/ms175976.aspx
该示例首先将 aCOMMIT TRANSACTION
放在 Try 块中,然后将第二个放在 Catch 块中 if XACT_STATE()=1
。
但是我认为 Catch 块只会在出现错误的情况下执行。那么 Catch 块如何执行并XACT_STATE
返回 1 呢?这似乎很矛盾。
文档中有一条未答复的评论XACT_STATE
提出了同样的问题