![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) ![]() ![]() |
Witam, jak lepiej obsługiwać błędy z poziomu klasy?
trigger_error()" title="Zobacz w manualu PHP" target="_manual Czy wyjątki?
Do tej pory kożystałem z wyjątków, ale coś mnie podkusiło aby się zapytać co do tego trigger_error()" title="Zobacz w manualu PHP" target="_manual (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) @edit Zastanawiam się nad tym dlaczego iż wyjątki nie są aż takie wygodne... Gdy ktoś ma error_reporting wyłączony to obsługuje klasę jak zwykłe funkcje z jądra PHP, a przy obsłudze wyjątków trzeba try {} i catch{} za każdym razem stosować przy tworzeniu obiektów. Dziękuję, Babcia@Stefa Ten post edytował Babcia@Stefa 27.06.2008, 20:38:05 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 206 Pomógł: 18 Dołączył: 6.03.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
oczywiscie polecam rozwiazanie polegajace na wyjatkach. niewatpliwie jest ona bardziej elastyczne (ze wzgledu na mozliwosc chociazby zagniezdzenia blokow try{} catch{} wiec mozesz umiescic swoj starszy kod wewnatrz takiego bloku i nie bedzie problemu) a jednoczescie umozwiliajace dosc dobra kontrole nad przebiegiem wydarzen (jak widac na poszczegolnych juz przytoczonych przykladach mozna dosc szczegolowo kontrolowac zdarzenia zaleznie od tego, jaki blad wystapi). najwazniejsza przewaga wyjatkow nad trigger_error() jest to, ze jest to kontrukcja jezykowa (jak takze widac).
ze swojej strony moge dodac klase wyjatkow, ktora w nieznaczny sposob modyfikuje zachowanie klasy bazowej, a umozliwia proste rozroznienie wyjatkow tej samej rodziny po konkretnych przypadkach (kodach bledow):
http://opentibia.svn.sourceforge.net/viewv...S_ErrorCode.php oczywiscie roznica jest nieznaczna, ale z poziomu kodu o wiele wygodniej jest obslugiwac kody bledow, niz ich wiadomosci. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 18:03 |