zoukankan      html  css  js  c++  java
  • 在SQL語句中獲取錯誤信息

    在 TRY...CATCH 构造的 CATCH 块的作用域内,您可以使用以下系统函数:
    ERROR_LINE(),返回出现错误的行号。
    ERROR_MESSAGE(),返回将返回

    给应用程序的消息文本。该文本包括为所有可替换参数提供的值,如长度、对象名或时间。
    ERROR_NUMBER() 返回错误号。
    ERROR_PROCEDURE(),返回出现错误的存储过程或触发器的名称。如果在存储过程或触发器中未出现错误,该函数返回 NULL。
    ERROR_SEVERITY() 返回严重性。
    ERROR_STATE(),返回状态。
    在执行任何 Transact-SQL 语句之后,您可以立即使用 @@ERROR 函数测试错误并检索错误号。
     使用 ERROR_LINE、ERROR_MESSAGE、ERROR_NUMBER、ERROR_PROCEDURE、ERROR_SEVERITY 和 ERROR_STATE
    当用于 TRY...CATCH 构造的 CATCH 块的作用域内时,ERROR_LINE、ERROR_MESSAGE、ERROR_NUMBER、ERROR_PROCEDURE、ERROR_SEVERITY 和 ERROR_STATE 函数仅返回错误信息。用于 CATCH 块的作用域外时,它们会返回 NULL。这些函数返回有关导致 CATCH 块被调用的错误的信息。只要是在 CATCH 块的作用域内运行,这些函数即使被引用多次也将返回相同的错误信息。这些函数为 Transact-SQL 语句提供了与返回给应用程序的数据相同的数据。

    在嵌套的 CATCH 块中,ERROR_LINE、ERROR_MESSAGE、ERROR_NUMBER、ERROR_PROCEDURE、ERROR_SEVERITY 和 ERROR_STATE 函数返回的错误信息特定于它们在其中被引用的 CATCH 块。例如,外部 TRY...CATCH 构造的 CATCH 块可能具有嵌套 TRY...CATCH 构造。在嵌套的 CATCH 块内,这些函数将返回有关调用内部 CATCH 块的错误的信息。在外部 CATCH 块,这些函数将返回有关调用 CATCH 块的错误的信息。

    以下示例通过显示在外部 CATCH 块引用 ERROR_MESSAGE 时,函数返回外部 TRY 块生成的消息文本,说明了此种情况。当在内部 CATCH 块中引用 ERROR_MESSAGE 时,它返回在内部 TRY 块中生成的文本。此示例还说明了在外部 CATCH 块中 ERROR_MESSAGE 始终返回在外部 TRY 块中生成的消息,即使在运行内部 TRY...CATCH 构造后。

    Code

    可以獲取如下格式的錯誤信息

    Msg 8152, Level 16, State 14, Procedure insertTest, Line 35
    将截断字符串或二进制数据。

    來源:SQL Server 2005 联机丛书

  • 相关阅读:
    Cocos Creator Editor 第一个编辑器扩展(扩展菜单)
    Rider 设置
    unity 使用GameObject.SetActive(true)激活对象时,会在SetActive内部调用Awake和OnEnable函数
    unity/C# 结构体属性使用set和get访问器应注意的问题
    unity 自定义AssetImporter导入指定资源
    Duilib部分源码解析
    TreeView树形控件的使用
    JQuery 文档资源收集
    排序和搜索(一)插入排序系列
    字符相关类型和编码概念
  • 原文地址:https://www.cnblogs.com/weiqi/p/1508273.html
Copyright © 2011-2022 走看看