mssql sqlserver 存储过程中错误处理方法分享


摘要:
下文讲述存储过程中错误处理的方法,如下所示:
实验环境:sql server 2008 R2

在一些特定的情况下,用户输入数据错误,数据整除错误,数据完整性等错误产生时,会造成存储过程异常退出,此时我们需要
向用户返回相应的错误信息,并告知错误原因,下文讲述存储过程中两种发送错误信息给客户端的方法分享:

1.raiserror关键字

使用raiserror关键字生成相应的错误信息,并将错误信息返回给存储过程调用者。

   ---在存储过程中,放入以下sql脚本
   raiserror(N'错误信息:%s',
             10,
              1,
              N'整除错误'
            );
     ---此错误提示信息,将会返回"错误信息:整除错误"给客户端用户


2.使用try catch关键字

try catch 关键字在sqlserver中是我们经常食用的一种捕捉错误的方法。
try catch关键字包括两部分:
1 try部分
包含待检测是否正确运行的代码
2 catch部分
当try出现异常时,执行catch部分。

try代码块必须使用begin try开头,并使用end try结束
begin try 和 end try之间可以包含多个sql脚本
catch代码块 也必须使用 begin catch 和 end catch代码块一起包含多个代码块。
并且每一个try必须紧跟一个catch代码块

    begin try
      select 1/0
     end try
   begin catch
     --输出相应的错误信息
    select  * from  
      sys.messages where message_id =***
   end catch