RAISERROR Sql server
我的sql查询中有以下代码来处理异常,但它引发了一些错误RAISERROR Sql server,sql,sql-server,Sql,Sql Server,我的sql查询中有以下代码来处理异常,但它引发了一些错误 Begin Catch If @@trancount>0 Rollback Declare @errmsg nvarchar(4000), @errseverity int Select @errmsg = ERROR_MESSAGE(), @errseverity = ERROR_SEVERITY() Raiserror(@errmsg, @errseverity, 1) End C
Begin Catch
If @@trancount>0
Rollback
Declare @errmsg nvarchar(4000), @errseverity int
Select @errmsg = ERROR_MESSAGE(), @errseverity = ERROR_SEVERITY()
Raiserror(@errmsg, @errseverity, 1)
End Catch
火灾例外
“大于18的错误严重性级别只能由sysadmin角色的成员使用WITH LOG选项指定”您可以设置自己的严重性,而不是捕获的错误的严重性<代码>16将是一个不错的选择。为什么不直接抛出代码>?@TT你能解释一下……我真的不知道这是怎么回事吗it@SruthiSureshTT表示将RaiseError语句中的
@errseverity
替换为16
(作为建议的严重性级别)。或许可以阅读有关RaiseError语句和一般处理的MSDN文档,以便更好地了解正在发生的事情。使用THROW
的建议也是值得尝试的