Postanowiłem przepisać trochę własną obsługę błędów.
Niestety mam problem z jej wywołaniem.
Napisałem funkcję na którą wskazuje set_error_handler()
Ma ona taką postać:
<?php function error_handler($code, $message, $file, $line) { $error = new Error($message, $code, '', false); $error->set_info('file', $file); $error->set_info('line', $line); $error->parse(); } ?>
Nie wiedzieć czemu ten kawałek generuję mi błąd, a dokładnie moment przypisania do zmiennej $error
obiektu klasy która rozszerza Exceptions ( $error = new Error ... )
debug_backtrace() zwraca mi coś takiego
[file] -> D:\WWW\orglee\class\error\error_handler.php
[line] -> 4
[function] -> __construct
[class] -> Error
[object] ->
Linia 4 to linia przypisania obiektu do zmiennej $error.
Konstruktor klasy Error wygląda natomiast tak:
<?php public function __construct($message, $code=0, $desc, $auto_parse_error=true) { $this->print_bacttrace($trace); } ?>
Macie może jakiś pomysł co ja skopałem tym razem ?
edit>
Oprócz tego że źle nazwałem metodę drukującą mi debug_backtrace(),
ale to chyba nie jest przyczyną tego problemu tym bardziej że metoda tak nazwa istnieje w klasie.
edit>>
dobra chyba już rozumiem.
On nie zgłasza błędu w linii 4 tylko zapisuje do protected::line i protected::file miejsce wywołania klasy Error.
Mam rację czy tylko mi się wydaje że mam rację ?