2011-06-01 83 views
8

我有一個調用PL/SQL包的PHP函數,它可以拋出一些我可以在PHP中捕獲並執行操作的已知異常(即用戶異常)。問題是,儘管在醒目PHP的例外,我得到的PHP日誌文件的警告從PL/SQL異常堆棧跟蹤:抑制預期的Oracle異常的PHP警告

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的預期錯誤時,我不希望它填滿我的日誌文件。

回答

6

如果你只需要以抑制oci_execute()警告,用@

@oci_execute() 

預置它使用的那種運行時錯誤的抑制通常不推薦,因爲它涵蓋了在應用中的問題,但你通過捕獲異常來處理代碼中的問題,並瞭解抑制警告的後果。

PHP docs on the @ operator ...

+0

不錯!謝謝。使用@在使用XMLDocument時禁止關於XML的警告 - 沒想到爲此使用它。 – Stephen 2011-06-02 10:04:22