zoukankan      html  css  js  c++  java
  • raiserror

    抛出用户定义的错误信息

    语法
    RAISERROR ( { msg_id | msg_str } { , severity , state }
        [ , argument [ ,...n ] ] )
        [ WITH option [ ,...n ] ]

    1 msg_id

    用户定义的错误信息号,错误号必须介于 13000 到 2147483647 之间,而且不能是 50000。  

    例如:

    RAISERROR (13002, -- Message text.
                   16, -- Severity.
                   1 -- State.
                   );
    select @@ERROR

    显示结果:

    消息 13002,级别 16,状态 1,第 2 行
    审核 (为select * from sysmessages where ERROR=13002 的描述内容)

    2 msg_str

     用户定义的错误信息内容,最多为400个字符

    RAISERROR (‘xxxx’, -- Message text.
                   16, -- Severity.
                   1 -- State.
                   );
    消息 50000,级别 16,状态 1,第 1 行

    xxxx

    3 severity

    用户定义的与消息相关的严重级别,用户只能定义1-18的级别,大于 18 的错误严重级别只能由 sysadmin 角色的成员用 WITH LOG 选项指定。

    4 state

     在sqlserver2008 中,有效范围是从 0 到 255,表示有关错误调用状态的信息,默认为1

     5

    当使用 RAISERROR 创建和返回用户定义的错误信息时,使用 sp_addmessage 将用户定义的错误信息添加到sysmessages中使用,,使用 sp_dropmessage 删除sysmessages中用户定义的错误信息。

    sp_addmessage   60000,15, "尝试" ,us_english

    最后一个参数为语言表示

     删除信息:sp_dropmessage 60000,us_english

    6 在程序调用过程中可以捕获到raiserror得到的异常

    例如 c# 中

    try {

    }

    catch (SqlException ex)

    {

    }

     vb中用on error ......

    err.number ,err.description.....来获得错误信息

  • 相关阅读:
    Promise链式调用 终止或取消
    uni-app input text-indent失效解决
    从浏览器输入url到显示页面的过程 (前端面试题)
    node.js切换多个版本
    防抖和节流
    vue子组件与子组件之前传值-----最简单办法
    Element源码---初识框架
    vue中父级与子组件生命周期的先后顺序
    vscode快捷键,让你脱离鼠标,敲代码嗖嗖的
    NHibernate代码监视
  • 原文地址:https://www.cnblogs.com/yinxingyeye/p/raiserror.html
Copyright © 2011-2022 走看看