![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli ktoś jest w stanie to niech mi wyjaśni jakim prawem pogrubiony blok catch(Exception $e) nie łapie wyjątku throw new Exception('eeeeee');. Wyjątek jest łapany przez ostatni blok (najbardziej zewnętrzny) zamiast przez pierwszy. Są 3 zagniezdzone w sobie bloki try catch bo to czesc wiekszej metody. Przeciez powinien łapać jak najbliższy blok a nie jak najdalszy! Ten post edytował Orzeszekk 23.10.2011, 15:55:35 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Może po prostu gdzieś Tobie w pierwszym zagnieżdżeniu coś rzuca wyjątkiem? A najlepiej pokaż cały kod.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie rzuca właśnie. Przegladalem kod debuggerem i dokładnie widać jak rzucany jest wyjątek po czym przeskakuje od razu do ostatniego catch.
Kodu nie pokażę bo zacząłem przepisywać właśnie tą metodę i juz nie mam tego kodu ktory wrzuciłem.. może jak napiszę ją inaczej to przestanie głupieć. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 156 Pomógł: 31 Dołączył: 23.02.2009 Skąd: Sanok Ostrzeżenie: (0%) ![]() ![]() |
Raz rzucanie wszędzie wyjątku klasy Exception, nie jest najlepszym pomysłem. Najlepiej korzystać z klas wyjątków SPL, a jeszcze lepiej rozszerzyć klasy SPL o własne typy wyjątków. Ale to tak na marginesie.
Co do twojego problemu, cudów nie ma. Rzucasz gdzieś wyjątkiem w bloku wyżej i ten jest łapany. Daj sobie w bloku catch I będziesz widział który wyjątek łapiesz |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Proszę zmienić tytuł na poprawny, inaczej temat zostanie zamknięty.
Powód edycji: [batman]:
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
mam zrobiony error handler ktory rzuca mi wyjątki utworzone z błędów (swoja droga to nie rzucam wtedy exception tylko własna klase internalexception dziedziczącą z exception)
uzylem funkcji filesize objętej w bloki try catch i wyrzucilo mi ekran z błędem. myslalem ze moze cos nie tak z tym errorhandlerem jest dlatego dodalem przed filesize throw new exception, najzwyklejszy wyjątek zeby przetestowac czy znowu złapie nie ten blok co trzeba. W innych miejscach skryptu ta konstrukcja try{ filesize ($plik) } catch (Exception $e) {} działa bez zarzutu. wyrzuca nadal więc wtf nie mam pojęcia. |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Widzę, że nie obejdzie się bez zamknięcia wątku. Jeśli chcesz aby został otwarty, wyślij do dowolnego moderatora poprawy tytuł wraz z linkiem.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 02:02 |