【发布时间】:2014-08-15 21:20:50
【问题描述】:
如果您尝试在 MS SQL Server 中运行以下查询,您将看到两个结果集作为输出。我想知道即使发生错误,SELECT 语句仍然返回结果集的原因,以及发生错误时如何删除它。因为如您所见,我正在尝试返回另一个带有错误消息的结果集。
BEGIN TRY
SET NOCOUNT ON;
--invoke divide by zero error
SELECT 1 / 0 AS DIVZEROERROR
END TRY
BEGIN CATCH
SELECT ERROR_MESSAGE() AS ERRRORMESSAGE;
END CATCH
【问题讨论】:
-
如果删除
TRY/CATCH块,您仍然会得到一个结果集,与块相同。只是现在消息选项卡在 SSMS 中成为焦点。 -
@NickyvV 我已经编辑了我的问题。谢谢。
-
我也有同样的问题。我有一个使用第一个结果集的应用程序,一个监控应用程序,这对我不起作用。
标签: sql sql-server select exception-handling