Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: throw new Exception w destruktorze
Forum PHP.pl > Forum > PHP > Object-oriented programming
p-f
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?
wookieb
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.
zzeus
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.
p-f
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.