站点图标 江湖人士

sql server2005 TSql新功能学习总结(TRY…CATCH篇

sql server2005 TSql新功能学习总结(TRY…CATCH篇

Transact-SQL 代码中的错误可利用 TRY…CATCH 机关处置,此功能雷同于C#言语的非常处置功能。TRY…CATCH 机关包罗两部门:一个 TRY 块和一个 CATCH 块

1.TRY…CATCH 块不处置导致数据库引擎封闭毗连的严峻性为 20 或更高的错误。可是,只需毗连不封闭,TRY…CATCH 就会处置严峻性为 20 或更高的错误。

2.严峻性为 10 或更低的错误被视为警告或消息性动静,TRY…CATCH 块不处置此类错误。

ERROR_MESSAGE() 前往错误动静的完整文本。此文本包罗为任何可替代参数(如长度、对象名或时间)供给的值。

ERROR_PROCEDURE() 前往呈现错误的存储过程或触发器的名称。

对于与TRY…CATCH 机关在统一施行级别发生的错误,TRY…CATCH 将不处置以下两类错误:

2.语句级从头编译过程中呈现的错误,例如因为名称解析延迟而形成在编译后呈现对象名解析错误。

若是某个错误在 TRY 块内的编写或语句级别从头编写过程中并在较低的施行级别(例如,施行 sp_executesql 或用户定义存储过程时)发生,则该错误会在低于 TRY…CATCH 机关的级别上发生,并由相联系关系的 CATCH 块处置。

退出移动版