可不可以在存储过程中去掉异常信息,当界面调用存储过程时,不能捕获存储过程的异常?

longji 2006-07-31 04:55:18
可不可以在存储过程中去掉异常信息,当界面调用存储过程时,不能捕获存储过程的异常?

1,用什么设置选项可以去掉外界程序捕获存储过程的异常。(如:存储过程已经做了错误处理,就不需要界面再捕获这个异常了)
2,用什么设定方式可以去掉某个特定的messageid的异常消息。(如:2627,主键异常)
...全文
219 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyxfly 2006-07-31
  • 打赏
  • 举报
回复
:)
zjcxc 元老 2006-07-31
  • 打赏
  • 举报
回复
2000就不要想了, 难实现,
longji 2006-07-31
  • 打赏
  • 举报
回复
1,是在2000中,
2,是insert,update类型
3,屏蔽某个类型的错误id,如2627,
4,形式可能是set xxxx 2627 off,或xxxxx(2627)=off之类的,
zjcxc 元老 2006-07-31
  • 打赏
  • 举报
回复
与2000一样, 在2005中,对于严重的错误, 例如有的错误会导致连接中断, 这样错误是无法在sql server中完成处理的.
zjcxc 元老 2006-07-31
  • 打赏
  • 举报
回复
2000中无法做到

2005可以实现绝大部分错误的截获, 即用:
BEGIN TRY
....你的处理语句
END TRY
BEGIN CATCH
IF ERROR_NUMBER() = 123 -- 处理特定的错误
BEGIN
RAISERROR(....) -- 处理的方法是将其抛给调用者
END
END CATCH -- 其他错误不处理, 因为不会抛出错误信息给调用者

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧