Подавлять предупреждения PHP для ожидаемых исключений Oracle - PullRequest
9 голосов
/ 02 июня 2011

У меня есть функция 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, я не хочу, чтобы она заполняла мой файл журнала.

1 Ответ

7 голосов
/ 02 июня 2011

Если вам нужно только подавить предупреждение на oci_execute(), добавьте к нему @

@oci_execute()

Использование такого рода подавления ошибок во время выполнения часто не рекомендуется, поскольку оно покрывает проблемы в приложении, но вы обработали проблему в коде, уже отловив исключение и поняв последствия подавления предупреждений.

PHP документы по оператору @ ...

...