SQL Server 怎么把错误返回给 SqlCommand

xloveme 2015-02-28 04:00:27

在存储过程中使用了 BEGIN TRY END TRY BEGIN CATCH END CATCH 语句。

原本的想法是,当在 TRY 段中,执行错误,会立即终止继续执行后面的语句,然后在 CATCH 中,再把错误返回给 SqlCommand 的。

但是,无论怎么处理, SQLCommand 都取不到错误的。



BEGIN TRY
--一系列代码
END TRY
BEGIN CATCH
--这里应该写一条怎样的语句才能使 SqlCommand 取到最后的错误啊?
END CATCH
...全文
111 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 sp1234 的回复:
由 存储过程抛出异常个宿主调用程序(不管调用者是c#程序还是java程序都是一样),这是一个正规的做法。 不要返回什么 int,要使用 raiserror等等(不仅仅这一种语法)。
非专业DBA,受教了
  • 打赏
  • 举报
回复
由 存储过程抛出异常个宿主调用程序(不管调用者是c#程序还是java程序都是一样),这是一个正规的做法。 不要返回什么 int,要使用 raiserror等等(不仅仅这一种语法)。
  • 打赏
  • 举报
回复
引用 楼主 xloveme 的回复:

	BEGIN TRY
 --一系列代码
	END TRY
	BEGIN CATCH
--这里应该写一条怎样的语句才能使 SqlCommand 取到最后的错误啊?
	END CATCH
这个你需要学习一下 t-sql 语法中的 raiserror 语句等等一些语句。 建议你找一本 t-sql 语法专著来看,不要靠在网络上找一些零星的支言片语的文章。
  • 打赏
  • 举报
回复
你可以返回一个标志位,然后由程序内部抛出异常啊,为什么一定是要数据库出异常呢?如果是要数据库出异常,那你干嘛还要
BEGIN TRY
END TRY
  • 打赏
  • 举报
回复
你没有理解 Exception。 Exception是递归嵌套对象,每一个 Exception 对象都有一个 InnerException 属性来返回下一级的 Exception。

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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