Как определить, была ли ошибка подавлена ​​оператором @ error control? - PullRequest
0 голосов
/ 28 сентября 2018

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

Вна этой странице написано

Если вы установили пользовательскую функцию обработчика ошибок с помощью set_error_handler (), то она все равно будет вызываться, но этот пользовательский обработчик ошибок может (и должен) вызыватьerror_reporting (), который вернет 0, когда вызову, вызвавшему ошибку, предшествовал символ @.

Однако неясно, как именно я могу отловить ошибки, которым предшествовал @.

У меня вопрос, как я могу отловить ошибки, которые были подавлены с помощью @?

1 Ответ

0 голосов
/ 28 сентября 2018

Как говорится: ваш обработчик ошибок будет по-прежнему вызываться как обычно, но вызов error_reporting() внутри вашего обработчика ошибок даст 0, если ошибка возникла в контексте @.Так что ваш обработчик ошибок должен принять это во внимание и действовать соответственно.

...