针对预期的Oracle异常禁止PHP警告

时间:2011-06-01 20:51:21

标签: php oracle plsql suppress-warnings oci

我有一个调用PL / SQL包的PHP函数,它可以抛出一些我可以在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出现预期错误时,我不希望它填满我的日志文件。

1 个答案:

答案 0 :(得分:7)

如果您只需要在oci_execute()上取消警告,请在@前加上

@oci_execute()

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

PHP docs on the @ operator ...