我有一个调用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出现预期错误时,我不希望它填满我的日志文件。
答案 0 :(得分:7)
如果您只需要在oci_execute()
上取消警告,请在@
前加上
@oci_execute()
通常不建议使用这种运行时错误抑制,因为它会掩盖应用程序中的问题,但是您已经通过捕获异常来处理代码中的问题,并了解抑制警告的后果。