![]() |
![]() ![]() |
![]() |
![]()
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:
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? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
masz wlaczona obsluge wszystkich wyjatkow? error_reporting(E_ALL) lub w konfiguracji php
|
|
|
![]()
Post
#3
|
|
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. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Masz całkowitą rację, gdzieś w pliku miałem pod definicją klasy testowy kod rzucający wyjątki, dlatego tak się stało. Głupi błąd szczerze mówiąc, przepraszam - temat można zamknąć.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 04:27 |