try...catch即可捕获RAISERROR抛出的错误了...你没有试过?

解决方案 »

  1.   

    try
    {}
    catch
    {}
    可以捕获到Try这部分代码执行时遇到的错误。你可以在Catch里做相应的处理
      

  2.   

    晕,俺试过啊,根本就没有任何反应!
    所以俺问的问题首先是 能否捕获??【例】在XSCJ数据库的XS_KC表上创建一触发器,若对学号列和课程号列修改,则给出提示信息,并取消修改操作。
    通过调用 COLUMNS_UPDATED()函数,可快速测试对学号列和课程号列修改所做的更改。
    USE XSCJ
    GO
    CREATE TRIGGER update_trig
    ON XS_KC
      FOR update 
    AS
    /*检查学号列(C0)和课程号列(C1)是否被修改,如果有某些列被修改了,则 取消修改操作。*/
    IF (COLUMNS_UPDATED() & 3) > 0
    BEGIN
    RAISERROR ('违背数据的一致性.', 16, 1)
        ROLLBACK TRANSACTION
        END
    GO
    然后用 C# 写测试程序调用,RAISERROR 抛出的信息 '违背数据的一致性.' 根本就捕获不到!