Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przeskakiwanie wyjątków
Asmox
post
Post #1





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Witam, chciałbym się dowiedzieć jak się zachowuje PHP, kiedy nie ma throw w bloku try{}. Na przykładzie mojej aplikacji wyjątek rzuca klasa widoku xhtml, że nie może odnaleźć szablonu. Przechwytywanie wyjątku jest dopiero w pliku index, gdzie ustawiłem ten blok przechwytujący wyjątek. Ogólnie działa to tak: index.php -> klasa www -> klasa xhtml. W przypadku gdy klasa xhtml rzuci wyjątek wszystko niby wraca do index.php tylko jest jedna sprawa:
  1. try {
  2. require_once("./application/modules/$moduleName.php");
  3. $module = new $moduleName();
  4. }

require to tylko załączenie pliku z klasą modułu (który traktuję jako kontroler stron www, a nie bloga czy forum np.). Ale kiedy dam tę instrukcję ponad try, to nie chce mi wyłapywać tych wyjątków. Czy mógłby mi ktoś powiedzieć, dlaczego tak się dzieje?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


^^ Powyższą odpowiedź powinno się rozstrzelać. error_reporting() nie ma nic wspólnego z wyjątkami, a nawet jak się podmieni obsługę błędów w PHP, to ustawienia te są ignorowane.

Asmox -> co do Twojego problemu, to cóż... widocznie require_once() oprócz zwykłego definiowania klasy, wykonuje też jakiś inny kod i ten kod rzuca wyjątek. Innego wytłumaczenia nie ma.
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 00:43