Установка уровеня ошибок при использовании set_error_handler

Anky

Новичок
Установка уровеня ошибок при использовании set_error_handler

Проблема в следующем:

Делаю:

error_reporting(E_USER_ERROR); // предположим
set_error_handler ("myErrorHandler");

Все-равно продолжает ловить нотисы.
Как от них можно избавиться?

Понимаю, что тема затертая до дыр уже, но проштудировав форум и факи так ответа и не нашел. Хотя вопрос уже много раз.

Спасибо.

Дополнение для домохозяик 1:
Зачем мне отключать Нотисы. Объясняю:
Мир к сожалению не идеален, а обработчик ошибок на всех общий. Так уже получается, что те модули (а пишут их другие люди), которые мне дают для того чтобы они работали в моем движке (который кстати работает и при включенных нотисах) генерят нотисные ошибки. Не виноватая я, они сами ко мне. Именно за этим мне сподобилось отключать нотисы.

Дополнение для домохозяик 2:
Все что написано здесь:
http://phpclub.ru/talk/showthread.php?s=&threadid=63876 не предлагать. Поймите, без set_error_handler никаких нотисов не сечется. И, еще раз, выставление error_reporting(E_USER_ERROR); перед set_error_handler не помогает. В php.ini, разумется, тоже.

Приложение: Оправдание убогого:
Запостил к "продвинутым" лишь по одной причине: не привык, что можно постить не только в концы веток форума. Была ночь. Не разглядел. Прошу прощения, публично каюсь.

p.s.> Надеюсь теперь угадал с темой?
p.p.s.> Вот я и нафлеймил тут за вам. Пожалуйста, не флеймите больше в этом теме. Хочется все-таки найти ответ.
 

striimii

Guest
Ты читал, что когда устанавливается set_error_handler, то error_reporting уже не задаёт ничего?

Вот цитата из мануала:

error_reporting() settings will have no effect and your error handler will be called regardless - however you are still able to read the current value of error_reporting and act appropriately.

Следовательно, в твой обработчик валятся ВСЕ ошибки, независимо от того, что ты там прописал в error_reporting. Внутри же своего обработчика ошибок, смотри на $errno и принимай решение о выводе инфы или её умалчивании (записи в лог).
 

Anky

Новичок
striimii:
Спасибо огромное, что еще раз обратил на это внимание.
Идея return'уть обратно у меня проходила, даже пробывал на вход пихнуть:
if ($errno==8) return;
но что-то тогда не заработало помнится и я забил.

В общем, еще раз спасибо. Тему можно закрывать.
 
Сверху