基于SQL数据库的Exception Handling - PART I_SQL SERVER数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

基于SQL数据库 的Exception Handling - PART I[组图]

作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0

本篇关键词:组图数据库基于Error
黑客防线网安网讯:  对于所有的开发人员来说,Exception Handling是我们每天都要面对的事情。对于基于Source Code的Exception Handling,我想大家已经司空见惯了,但是对于Database级别的Exception Handlin...

  对于所有的开发人员来说Exception Handling是我们每天都要面对的事情对于基于Source Code的Exception Handling我想大家已经司空见惯了,但是对于Database级别的Exception Handling,就没有那么常见了在这篇文章中,我将会介绍我对于基于Database编程中Exception Handling的一些粗浅的认识:在编写Stored Procedure时,如何抛出一个可预知的Exception,ADO.NET如何处理从Database抛出的Exception,如何保存基于Database Exception的Error Message,如何在Database和.NET Application之间进行消息的传递[注:这里的Database主要指SQL Server]。

  @@ERROR

  RAISEERROR

  TRY CATCH & Return

  Error message & sys.messages

  ADO.NET Exception Handling

  SqlException

  InfoMessage

  一、  @@ERROR

  @@ERROR是我们经常使用的系统函数,其返回类型为INT,用以表示上一个语句的执行是否遇到错误,0便是语句正常执行,非0则以为着某个错误的产生。比如下面的一个例子:我在SQL Server Management Studio中执行下面一段简单的SQL:

DECLARE @result INT
SET @result = 10/0
PRINT @@ERROR
Go

  会得到如下的执行结果:

  由于除零导致错误的产生,使@@ERROR的值变成8134。实际上8134是一个Error Number,代表某个系统定义的Error,每个预定义的Error由一个唯一的Error Number来唯一标识。@@ERROR本质上就是返回上一个语句执行遇到的Error的ID号,所以这并不是一个随机的值,无论是10/0还是100/0,@@ERROR返回的结果都是一样的。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-9775-1.html
网站维护教程更新时间:2012-03-21 02:25:31  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer