日期:2014-05-18  浏览次数:20653 次

RAISERROR里的错误状态代表什么意思?
如题,我能不能在程序当中得到该状态?
例如,RAISERROR   ( '错误,除数不能为0 ',16,1)
严重级别为16,状态为1。我的前端应用程序使用C#编写,能不能在发出该错误时捕获这个状态。

------解决方案--------------------
可以在程序中捕获这个错误

用户定义的与该消息关联的严重级别。当使用 msg_id 引发使用 sp_addmessage 创建的用户定义消息时,RAISERROR 上指定的严重性将覆盖 sp_addmessage 中指定的严重性。

任何用户都可以指定 0 到 18 之间的严重级别。只有 sysadmin 固定服务器角色成员或具有 ALTER TRACE 权限的用户才能指定 19 到 25 之间的严重级别。若要使用 19 到 25 之间的严重级别,必须选择 WITH LOG 选项。

注意:
20 到 25 之间的严重级别被认为是致命的。如果遇到致命的严重级别,客户端连接将在收到消息后终止,并将错误记录到错误日志和应用程序日志。


注意:
小于 0 的严重级别被解释为级别为 0。大于 25 的严重级别被解释为级别为 25。