Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Błędy w klasach
Babcia@Stefa
post
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?
  1. <?php
  2. throw new Exception('Nazwa klasy :: funkcja() : Jakis blad', 1);
  3. ?>


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
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%)
-----


Bledy phpowe sa do D....., nic ci nie daja, wywala napis na ekran [ktorego w 99% nie chcesz tam widziec] a program leci sobie dalej, co z tego ze nie polaczyles sie z baza, skrypcik proboje na tym nieistniejacym polaczeniu wywolywac zapytania [a wyjatek ucieknie ci poziom wyzej, a dokladniej do pierwszego catch'a i nie pozwoli ci na takie bezsensowne akcje w skrypcie].
Mozesz przeciez uzyc IF'y, wszedzie, prawie co linijke, az szlak cie trafi. No i tracisz jedna z wartosci zwracanych przez funkcje, ktora musisz przeznaczyc na pokazanie ze nastapil blad.

Ja nie korzystam z kodow bledow w wyjatkach [moze sie kiedys przydadza, ale na razie nie byly mi potrzebne], kazdy rodzaj bledu ma swoja klase np. RecordNotFound, FileNotFound, RoutingError, i jako msg przekazuje jakies dane odpowiednio NazwaKlasy + id, nazwa pliku, parametry requestu. Rozpoznawanie po kodzie bledu jest lipne, bo musisz dopisac funkcjonalnosc ktora juz masz [obsluge wielu catch'y], zamiast po prostu utworzyc kilka klas wyjatkow [1000x czytelniejsze]
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: 5.10.2025 - 03:00