【问题标题】:Suppress PHP warnings for expected Oracle exceptions抑制预期 Oracle 异常的 PHP 警告
【发布时间】:2011-09-06 15:24:38
【问题描述】:

我有一个 PHP 函数,它调用一个 PL/SQL 包,该包可以抛出一些我可以在 PHP 中捕获并采取行动的已知异常(即用户异常)。问题是,尽管在 PHP 中捕获了异常,但我在 PHP 日志文件中收到警告,其中包含来自 PL/SQL 异常的堆栈跟踪:

PHP Warning:  oci_execute(): ORA-20001: Something isn't valid
ORA-234565: at "MY.PACKAGE", line 234
ORA-923485: at "MY.PACKAGE", line 123

如何抑制这些 OCI 警告?我不想禁止所有警告,因为它们可能有助于解决其他问题,但是当它是我的 PL/SQL 的预期错误时,我不希望它填满我的日志文件。

【问题讨论】:

    标签: php oracle plsql suppress-warnings oracle-call-interface


    【解决方案1】:

    如果您只需要抑制 oci_execute() 上的警告,请在其前面加上 @

    @oci_execute()
    

    通常不建议使用这种运行时错误抑制,因为它掩盖了应用程序中的问题,但您已经通过捕获异常处理了代码中的问题并了解了抑制警告的后果。

    PHP docs on the @ operator...

    【讨论】:

    • 不错!谢谢。在使用 XMLDocument 时,使用 @ 来抑制有关 XML 的警告 - 没想到会为此使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 2012-07-13
    • 2020-02-15
    • 2014-01-20
    • 2018-08-30
    • 2015-08-03
    • 2011-03-31
    相关资源
    最近更新 更多