Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> \Exception::getPrevious()
q.michal
post
Post #1





Grupa: Zarejestrowani
Postów: 111
Pomógł: 1
Dołączył: 24.12.2013

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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?
Go to the top of the page
+Quote Post
q.michal
post
Post #3





Grupa: Zarejestrowani
Postów: 111
Pomógł: 1
Dołączył: 24.12.2013

Ostrzeżenie: (0%)
-----


Nikt, moge zrobic tak:

  1. parent::_construct($message, 0, $previous);
  2. $this->code = $code;


A z ciekawosci gdzie on pozniej zapisuje $previous?
Pytam bo w dokumentacji nie widze takiej zmiennej.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$previous jest wlasciwoscia prywatna, temu nie jest opisywana

http://php.net/manual/en/language.exceptions.extending.php
Go to the top of the page
+Quote Post
q.michal
post
Post #5





Grupa: Zarejestrowani
Postów: 111
Pomógł: 1
Dołączył: 24.12.2013

Ostrzeżenie: (0%)
-----


Tego wlasnie mi brakowalo.
Dzieki!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 16:20