[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Оброботчик ошибок
kandiral
Здравствуйте, уважаемые форумчане.

Помогите разобраться. Делаю простейший обработчик ошибок

<?php
echo '0000<br>';

ini_set('error_reporting', E_ALL);

function errorHandler($errno, $errstr='', $errfile='', $errline=''){
echo 'errorHandler<br>';
}

function obError($str){
$err=error_get_last();
if($err){
return 'obError<br>'.$err['message'].'<br>File: '.$err['file'].'<br>Line: '.$err['line'].'<br>';
}else{
return $str;
}
}


set_error_handler('errorHandler', E_ALL);
ob_start('obError');

echo '1111<br>';

func();

ob_end_flush();

echo '2222<br>';


где func() - несуществующая функция

открываю страницу в браузере и получаю

0000
obError
Call to undefined function func()
File: E:\Hosts\localhost\www\test.php
Line: 24

все ок. Обработчик сработал.
Удаляю строчку с несуществующей функцией, обновляю страницу и получаю

0000
obError
Call to undefined function func()
File: E:\Hosts\localhost\www\test.php
Line: 24
2222


Вот сижу и немогу понять почему так происходит. Получается, что функция error_get_last() возвращает ошибку не текущего запроса, а последнюю в текущей сессии?..
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.