zoukankan      html  css  js  c++  java
  • 错误处理

    SQL Server提供了在T-SQL 代码中用于处理错误的工具。进行错误处理的主要工具是一种称为TRY...CATCH的结构,它是在SQL Server 2005中引入的。SQL Server 也提供了一组函数,调用它们可以获得有关错误的信息。

    当使用 TRY...CATCH结构时,通常是把T-SQL 代码放在TRY块中(放在BEGIN TRY 和END TRY关键字之间),而把错误处理代码放在紧接其后的CATCH 块中(放在BEGIN CATCH 和END CATCH关键字之间)。如果TRY 块中的代码没有错误,SQL Server 就会简单地忽略CATCH 块。如果TRY 块发生了错误,流程控制就会转移到相应的CATCH块。注意,如果TRY...CATCH块捕获并处理了错误,则对于调用者来说,它不会看到有错误发生。

    BEGIN TRY

      PRINT ' No error';

    END TRY

    BEGIN CATCH

      PRINT 'Error';

    END CATCH

    通常,在CATCH 块中进行的错误处理会涉及检查导致错误的原因,采取某种处理操作。SQL Server可以通过一组函数来反馈有关错误的信息。ERROR_NUMBER 函数将返回一个整数,代表错误的错误号,这可能算是最重要的一个错误函数。CATCH 块通常包含一些流程控制代码,通过检查错误号来决定应该采取什么处理操作。ERROR_MESSAGE 函数将返回错误的消息文本。要得到错误号和错误消息的列表,可以查询sys.messages目录视图。ERROR_SEVERITY 和ERROR_STATE 函数可以分别返回错误的严重级别和状态号。ERROR_LINE函数可以返回发生错误的行号。最后,ERROR_PROCEDURE 函数可以返回发生错误的存储过程或触发器的名称;如果在过程中没有发生错误,则返回NULL。

  • 相关阅读:
    推荐一个wpf&sliverlight的图表控件
    数独求解
    WPF中的 CollectionChanged事件通知
    Windows 7 任务栏之缩略图预览(Thumbnail)
    把Google HK设为IE默认的搜索引擎
    F#小记——1. Hello F#
    F#小记——2. 基本数据类型
    使用异步socket的时候需要注意memory spike
    《everytime you kissed me》的中文歌词
    我回来了o(∩_∩)o...
  • 原文地址:https://www.cnblogs.com/zhangdx/p/3803362.html
Copyright © 2011-2022 走看看