как сделать выход php на E_NOTICE?

Обычно php-скрипт продолжает работать после E_NOTICE, есть ли способ поднять это на фатальную ошибку в контексте функции, то есть мне нужно только выходить извещения только в моих функциях, но не в основных функциях php, которые глобально.

Вы можете создать собственный обработчик ошибок, чтобы поймать E_NOTICE s.

Это непроверено, но должно идти в правильном направлении:

 function myErrorHandler($errno, $errstr, $errfile, $errline) { if ($errno == E_USER_NOTICE) die ("Fatal notice"); else return false; // Leave everything else to PHP's error handling } 

затем установите его как новый пользовательский обработчик ошибок с помощью set_error_handler() при вводе вашей функции и восстановите обработчик ошибок PHP при его выходе:

 function some_function() { // Set your error handler $old_error_handler = set_error_handler("myErrorHandler"); ... do your stuff .... // Restore old error handler set_error_handler($old_error_handler); } 

Вы используете собственный обработчик ошибок, используя set_error_handler()

 <?php function myErrorHandler($errno, $errstr, $errfile, $errline) { if ($errno == E_USER_NOTICE) { die("Died on user notice!! Error: {$errstr} on {$errfile}:{$errline}"); } return false; //Will trigger PHP's default handler if reaches this point. } set_error_handler('myErrorHandler'); trigger_error('This is a E_USER_NOTICE level error.'); echo "This will never be executed."; ?> 

Рабочий пример