为什么不能用try语句捕获存储过程中raiserror产生的异常? raiserror('error message', 16, 1)下面有return么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to Chiff(~o~) :没有return,但是加上也不行。to pengdali(大力) :我就是想知道为什么不能捕获用户自定义错误。 raiserror('error message', 16, 1)发送的不是错误,是消息,当然不能用try来捕获异常啦。存储过程可以返回消息,结果集,输出参数。这些都是正常情况的东西。在有些程序里,消息和结果集是没有区别的。试试别的方法吧。 偶在头疼这个问题取得数据等可以捕捉到raiserror的错误,但是更新的时候在库里判断权限的raiserror就不行。 begin raiserror('if wrong',-1,-1) return(1)end /****** Object: Stored Procedure dbo.dt_displayoaerror Script Date: 2003-3-12 9:23:54 ******/CREATE PROCEDURE dbo.dt_displayoaerror @iObject int, @iresult intasset nocount ondeclare @vchOutput varchar(255)declare @hr intdeclare @vchSource varchar(255)declare @vchDescription varchar(255) exec @hr = sp_OAGetErrorInfo @iObject, @vchSource OUT, @vchDescription OUT select @vchOutput = @vchSource + ': ' + @vchDescription raiserror (@vchOutput,16,-1) returnGO “事故处理”的资源开销 存诸过程如何写啊! 数据库索引优化与规范 求一SQL?? 判断一个字段是否更新,另一个字段是否等于1时的触发器怎么写? 急,那里有中文版的SQL SERVER 下载 sql拼接问题求助? 一个关于考勤的问题 不用游标写过程, 比较难 外关键字约束问题一问! 关于外连接的问题 偶今天被同学提的小问题给难住了,请各位赐教 !
to pengdali(大力) :我就是想知道为什么不能捕获用户自定义错误。
发送的不是错误,是消息,当然不能用try来捕获异常啦。
存储过程可以返回消息,结果集,输出参数。这些都是正常情况的东西。
在有些程序里,消息和结果集是没有区别的。
试试别的方法吧。
raiserror('if wrong',-1,-1)
return(1)
end
/****** Object: Stored Procedure dbo.dt_displayoaerror Script Date: 2003-3-12 9:23:54 ******/
CREATE PROCEDURE dbo.dt_displayoaerror
@iObject int,
@iresult int
asset nocount ondeclare @vchOutput varchar(255)
declare @hr int
declare @vchSource varchar(255)
declare @vchDescription varchar(255) exec @hr = sp_OAGetErrorInfo @iObject, @vchSource OUT, @vchDescription OUT select @vchOutput = @vchSource + ': ' + @vchDescription
raiserror (@vchOutput,16,-1) returnGO