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 块处置。
【江湖人士】(jhrs.com)原创文章,作者:江小编,如若转载,请注明出处:https://jhrs.com/2018/24809.html
扫码加入电报群,让你获得国外网赚一手信息。