q.michal
11.07.2017, 10:16:09
Witam,
Szybkie pytanie na dzis: Ktos wie gdzie jest zapisywany poprzedni wyjatek?
\Exception::__construct() przyjmuje $previous jako 3 argument. I gdzie go zapisuje? Co z nim dalej robi?
Ze zmiennych widze tylko $file, $line, $message i $code. Natomiast getPrevious jest final i nie mozna go nadpisac przy rozszerzaniu \Exception.
Pisze wrapper dla PDOException, bo $code jest tam stringiem zamiast intem. Nie moge/nie chce zatem robic parent::__construct(), zamiast tego przypisuje $code i $message bezposrednio i zastanawiam sie jak ugryzc $previous?
Jakies pomysly?
nospor
11.07.2017, 10:30:00
Cytat
Nie moge/nie chce zatem robic parent::__construct(), zamiast tego przypisuje $code i $message bezposrednio
A kto ci broni zrobic parent a potem przypisac bezposrednio?
q.michal
11.07.2017, 10:38:52
Nikt, moge zrobic tak:
parent::_construct($message, 0, $previous);
$this->code = $code;
A z ciekawosci gdzie on pozniej zapisuje $previous?
Pytam bo w dokumentacji nie widze takiej zmiennej.
nospor
11.07.2017, 10:56:39
$previous jest wlasciwoscia prywatna, temu nie jest opisywana
http://php.net/manual/en/language.exceptions.extending.php
q.michal
11.07.2017, 11:10:55
Tego wlasnie mi brakowalo.
Dzieki!