begin catch 。。。end catch 是用来处理异常的
begintry
--SQL
endtry
begincatch--sql (处理出错动作)
endcatch
我们将可能会出错的sql 写在begin try...endtry 之间,若出错,刚程序就跳到紧接着的begin try...endtry 的beign catch...endcatch
中,执行beign catch...endcatch错误处理SQL。try..catch 是可以嵌套的。
在begin catch ...endcatch中我们可以利用系统提供的下面四个函数得到出错信息:
error_number 返回错误代码
error_serverity 返回错误的严重级别
error_state 返回错误状态代码
error_message 返回完整的错误信息
上面的四个函数在同一个begin catch ...endcatch可以在多次使用,值是不变的。
下面是一个简单的小例子。
begintry
select2/0
endtry
begincatch
selecterror_number()aserror_number ,
error_message()aserror_message,
error_state()aserror_state,
error_severity()aserror_severity
endcatch
结果:
-----
error_number error_message error_state error_severity
8134遇到以零作除数错误。116