【问题标题】:oracle pl/sql pass exception type to functionoracle pl/sql 将异常类型传递给函数
【发布时间】:2017-09-13 06:37:59
【问题描述】:

我正在尝试找出是否有一种方法可以在不显式实现 when 子句中的所有 predefined Exceptions 的情况下获取异常类型。

我写了一个发送邮件的函数。我在 PL/SQL 过程的 when others 子句中调用此函数,有没有办法将类型作为 varchar 传递?
将异常消息也作为参数传递会非常出色。

问候

【问题讨论】:

标签: oracle exception plsql


【解决方案1】:

在 Oracle 文档中搜索:DBMS_UTILITY.FORMAT_ERROR_STACK

【讨论】:

    【解决方案2】:

    有几种方法,我用SQLERRM

    EXCEPTION
      WHEN CANNOTPROCEED THEN
    
    
          ORA_ERROR:=SQLERRM;
    
          ROLLBACK;
    insert into LOG_TABLE (LOG_ERROR) Values();
    commit;
    

    【讨论】:

      【解决方案3】:

      正如Mat 在他的comment 中建议的那样,可以简单地使用变量SQLCODESQLERRM 来检索异常。它本身并不检索异常的类型,但它确实提供了足够的信息来解决问题。 Oracle Documentation

      【讨论】:

      • 链接已失效。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-07
      • 2021-10-06
      • 2015-05-11
      • 2017-07-29
      • 1970-01-01
      • 1970-01-01
      • 2013-01-05
      相关资源
      最近更新 更多