Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SQL Server Management Studio中测试TRY…CATCH 解决方案:_Sql Server_Tsql - Fatal编程技术网

Sql server 在SQL Server Management Studio中测试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联机丛书中的示例。是的,下面的部分错误不受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 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,是的,您是对的。这是我忽略文档的错误。谢谢