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
bim2
post
Post #2





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Ja bym obstał przy wyjątkach. Ale trochę inaczej. Często można spotkać ten sposób w wielu frameworkach.
  1. <?php
  2. class My_Exception extends Exception {}
  3. ?>


Wtedy, jeśli masz zamiar inaczej wyświetlać wiadomość
  1. <?php
  2. class My_Exception extends Exception {
  3. public function getMessage()
  4. {
  5. $sMessage = parent::getMessage();
  6. return 'Błąd: '.$sMessage;
  7. }
  8. }
  9. ?>

i w kodzie
  1. <?php
  2. thrown My_Exception('jakis tam blad');
  3. ?>


EDIT:
Nie lubie edycji postów. Co do try {} i catch{}. Ja w sowim kodzie wystarczy, że użyje ich raz. Przy uruchomieniu kontrolera, który uruchamia sobie resztę, ale wyjątek i tak zostanie złapany. Bo się w nim mieści.

PS. Przy __autoload() wyjątki siadają niestety (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował bim2 27.06.2008, 20:41:03
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: 8.10.2025 - 05:36