![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 0 Dołączył: 29.12.2005 Skąd: Z krzaków Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Stworzylem plik extends w ktorym mam:
nic wielkiego ... Procz tego mam klase do obslugi mysqla, z cacheowaniem i inne 'gadzety'. W klasie tej w niektorych miejscach generowane sa wyjatki min w konstruktorze ktory ma za zadanie wywolanie polaczenia z baza, gdy polaczenie sie nie powiedzie generowany jest wyjatek w taki sposob:
Niby wszystko ok... teraz mam index.php
Dane przy wywolaniu klasy sa specjalnie zle podane aby zostal wychwycony wyjatek... ale wyjatek przechwyca catch z Exception a nie z system_Exception mimo ze w klasie do obslugi sql wywolywalem system_Exceptions. System Exceptions ma sie roznic tym od zwyklego wyjatku ze ma wywalac bledy w 'jadrze' systemu na surowo na bialym tle z dokladnym opisem, linia bledu itd itd... zas zwykly wyjatek ma wyswietlac sam opis ktory ma sie wyswietlac w jakiejs okreslonej szacie graficznej strony, ale niestety nie dziala gdyz system_Exceptions pokazuje sie tak jak powinien sie pokazywac zwykly Exceptions ( bynajmiej tak mi sie wydaje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Prosze o pomoc i z gory dziekuje. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Manual: php przeglada kolejno wszystkie catch'e i po napotkaniu pierwszego z typem wyjatku bedacym klasa/nad-klasa aktualnie obslugiwanego wyjatku wchodzi do tego catch'a{}.
Cysiaczek: juz lepiej to usun, bo wyglada jak bys nie przejmowal sie wystepujacymi wyjatkami. W tym przypadku wystarczy jeden catch z Exception
---------- edit: mike_mech Cytat W takiej sytuacji kiedy chcemy na każdy wyjątek zareagować tak samo, to możesz dpisać troche kodu do klsy po której wszystkie dziedziczą. Reakcja na wyjatek jest jego obsluga w catch'u a nie wewnatrz obiektu wyjatku :/ |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
---------- edit: mike_mech Reakcja na wyjatek jest jego obsluga w catch'u a nie wewnatrz obiektu wyjatku :/ Tak wiem, ale można zrobić:
Hmm, ale takie teoretyzowanie już nie za daleko prowadzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 07:54 |