Sql server 在SQL Server Management Studio中测试TRY…CATCH 解决方案:
我误解了SQL联机丛书中的示例。是的,下面的部分错误不受TRY…CATCH构造的影响。。。非常抱歉:(Sql server 在SQL Server Management Studio中测试TRY…CATCH 解决方案:,sql-server,tsql,Sql Server,Tsql,我误解了SQL联机丛书中的示例。是的,下面的部分错误不受TRY…CATCH构造的影响。。。非常抱歉:( 我只是想在SQL Server Management Studio中执行这个简单的示例: USE AdventureWorks; GO BEGIN TRY -- Table does not exist; object name resolution -- error not caught. SELECT * FROM NonexistentTable; END T
我只是想在SQL Server Management Studio中执行这个简单的示例:
USE AdventureWorks;
GO
BEGIN TRY
-- Table does not exist; object name resolution
-- error not caught.
SELECT * FROM NonexistentTable;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() as ErrorNumber,
ERROR_MESSAGE() as ErrorMessage;
END CATCH
但我发现作为输出的唯一东西是:
Msg 208,16级,状态1,第5行
无效的对象名
“不存在的表”
因此,错误似乎是由SQLServerManagementStudio捕获的,而不是catch块,这显然不是我所期望的
提前感谢:)您的第一个示例在SQL联机丛书中使用,您是从那里复制的吗?如果是这样的话,阅读整个主题,你会发现这确实行不通。该错误不是由Management Studio引发的,它是一个名称解析错误,不会被TRY/CATCH块捕获。oops,是的,您是对的。这是我忽略文档的错误。谢谢