Как определить, была ли ошибка подавлена ​​оператором @ error control?

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

В этом страница это говорит

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

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

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

0

Решение

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector