一般使用在自定义的错误后,也就是你写程序时,作了某一个判断,如果不符合预期的结果程序将不继续执行,这时一般用它。使用了 raise form_trigger_failure;的话,结果是程序结束本单元 (BEGIN ... END)的执行并将所有对数据库的操作回滚。

解决方案 »

  1.   

    使用 raise form_trigger_failure; 触发异常处理。
      

  2.   

    当某个form上的操作可能带来错误时,可以对form上的操作进行判断,如果不和条件,就可以用raise form_trigger_gailure来触发异常.
      

  3.   

    form_trigger_failure对form界面上的操作进行判断,比如当你在一个文本框中输入数字时,当鼠标脱离当前框时进行相应的验证,看看是否满足相应的要求范围,如果满足则正常,如果不满足则触发该事件,并把鼠标光标强制在当前文本框中,直到输入正确的数字为止。
      

  4.   

    CREATE OR REPLACE PROCEDURE "SP_MKOUVAL"      ( v_metid in number,v_valuetype IN NUMBER,v_mettime IN DATE)
    as
     .....
     form_trigger_failure EXCEPTION;
    begin
     .....
     if a>b then
         raise form_trigger_failure;
      end if
     .....
    EXCEPTION
     WHEN form_trigger_failure THEN
    ......
    end;
      

  5.   

    自定义的异常代号范围:20000~~~~20999之间,而他一般小于20000,自定义的异常触发后,程序就结束了,但是form_trigger_failure触发后,程序并不结束,你输入正确的东西后,程序还可以继续