UTL_SMTP.quit的-4091的raise_application_error超出范围

Ven*_*enu 0 plsql oracle11g

我收到ORA-21000:-4091的raise_application_error的错误号参数超出了UTL_SMTP.quit(连接)的范围;

我在程序中有SMTP相关代码.所以当我运行下面的程序时它工作正常.但是当我从我的应用程序中的触发器调用Send_Mail时,它会抛出上述错误.

BEGIN
   Send_Mail (p_to             => 'temp@temp.com',
              p_from           => 'temp@temp.com',
              p_message        => 'Test message',
              p_smtp_host      => 'tempserver'
             );
END;
/
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

Old*_*mer 5

Oracle文档:

定义自己的错误消息(RAISE_APPLICATION_ERROR过程)

RAISE_APPLICATION_ERROR过程允许您从存储的子程序中发出用户定义的ORA-n错误消息.这样,您可以向应用程序报告错误,并避免返回未处理的异常.

要调用RAISE_APPLICATION_ERROR,请使用以下语法:

raise_application_error(error_number,message [,{TRUE | FALSE}]); 其中error_number是-20000 ..- 20999范围内负整数, message是最长2048字节的字符串.如果可选的第三个参数为TRUE,则错误将放在先前错误的堆栈上.