[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос по исключениям
GET
Привет, смотрел урок twin`a по поводу исключений:

(отсюда)

// Константа для переключения способа обработки ошибок
define('IRB_ERROR_HANDLER', true);
// Устанавливаем Callbac функции для установки режима исключений
if(IRB_ERROR_HANDLER === true)
{ // Системные ошибки
set_error_handler('setAllException');
// Неотловленные исключения
set_exception_handler('setExceptionHandler');
}
// Callbac - функция для выброса исключений на системные ошибки
function setAllException($code, $message, $file, $line)
{
if(error_reporting() & $code)
throw new AllException($message, $code, $file, $line);
}
// Callbac - функция вместо блока catch
// Здесь можно навести красоту, вывести стеки и так далее

function setExceptionHandler($e)
{
$code = $e -> getCode();

switch($code)
{
case E_NOTICE :
echo '<strong>Notice:</strong> ';
break;

case E_WARNING :
echo '<strong>Warning:</strong> ';
break;
// И так далее
default :
echo 'Ошибка: ';
}

echo $e -> getMessage();
echo ' in ', $e -> getFile();
echo ' on line ', $e -> getLine();
}
// Создаем промежуточный класс - наследник
class AllException extends Exception
{
public function __construct($message, $code, $file, $line)
{
$this->file = $file;
$this->line = $line;
parent::__construct($message, $code);
}
}


не могу понять зачем делается запрос в родительский конструктор?:
Цитата
parent::__construct($message, $code);

итак же все приходит: public function __construct($message, $code, $file, $line)

зачем вообще этот блок?

Цитата
        $this->file  = $file;
        $this->line  = $line;       
        parent::__construct($message, $code);


когда можно с пришедшими переменными все что нужно делать....записывать выводить и т.д.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Быстрый ответ:

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