Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> throw new Exception w destruktorze
p-f
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 30.12.2008

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


Być może odpowiedź jest prosta, ale nie mogę nigdzie tego namierzyć...

Mam problem z użyciem throw new Exception w destruktorze. Gdy wywołuję linię:
  1. throw new Exception('#test bledu#');

w dowolnej innej funkcji klasy, wszystko działa bez problemów.
Natomiast gdy wywołam tę linię w destruktorze dostaję błąd:

Fatal error: Exception thrown without a stack frame in Unknown on line 0

W czym może tkwić problem?
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Tzn, że wyjątek został wyrzucony przy niszczeniu obiektów po zakończeniu skryptu.
Robienie wyjątków w destruktorze nie jest dobrym pomysłem.

Ten post edytował wookieb 29.04.2010, 11:24:21


--------------------
Go to the top of the page
+Quote Post
zzeus
post
Post #3





Grupa: Zarejestrowani
Postów: 441
Pomógł: 71
Dołączył: 3.09.2007
Skąd: wrocław

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


Tutaj masz odpowiedź -> http://php.net/manual/en/language.oop5.decon.php
Cytat
Note: Attempting to throw an exception from a destructor (called in the time of script termination) causes a fatal error.


--------------------
Go to the top of the page
+Quote Post
p-f
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 30.12.2008

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


Dzięki!

Stosowanie wyjątków w destruktorze znalazłem w książce "PHP5. Zaawansowane programowanie", więc myślałem, że błąd jest gdzieś po mojej stronie smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 17:27