Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php5] Exception i bloki try/catch, i jak wykorzystać throw (jak obsłużyć błędy których nie przewidzimy)
jastu
post
Post #1





Grupa: Zarejestrowani
Postów: 382
Pomógł: 0
Dołączył: 29.11.2005
Skąd: :jestem();

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


Sama obsługa błędów jest dla mnie (jeśli dobrze rozumiem) jasna , problem polega na wykorzystaniu tej obsługi .

Są pliki z klasami - pliki php - pliki php wykorzystują klasy i wysyłają dane do szablonów ....

Generuję wyjątek w klasie np.DBusing bo nie można się połączyć.... ale w pliku php w kolejnej lini wysyłam zapytanie i dostaję kolejny wyjątek...hm...

Można dać to w blok try ale wtedy mam jeszcze większy bałagan z wyjątkami (jeśli powstała by tablica wyjątków to pierwszy pociągnął by za sobą kolejne a nie tak to być powinno ).

Jak pisać obługę błędów ?

Ten post edytował jastu 27.11.2006, 20:03:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Eh, zbytnio kombinujesz...

Exception jest tylko wyrzucany wtedy, gdy nie możliwe jest wykonanie jakiegoś algorytmu z przyczyn technicznych. Po to się stosuje wyjątki w celu wyeliminowania if'ów w ważnych częściach programu, gdyż są nie wygodne i nie niosą że sobą jakiejś informacji.
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #3





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Cytat(hwao @ 27.11.2006, 15:40:22 ) *
Eh, zbytnio kombinujesz...

Całkowicie się zgadzam. Wyjątki (jak sama nazwa wskazuje) służą do obsługi sytuacji wyjątkowych. Niestety można zauważyć, że często konstrukcja ta jest wykorzystywana bezmyślnie (np. zamiast klauzul if).
Go to the top of the page
+Quote Post
cicik
post
Post #4





Grupa: Zarejestrowani
Postów: 219
Pomógł: 5
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

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


Cytat(JaRoPHP @ 1.12.2006, 22:38:23 ) *
Całkowicie się zgadzam. Wyjątki (jak sama nazwa wskazuje) służą do obsługi sytuacji wyjątkowych. Niestety można zauważyć, że często konstrukcja ta jest wykorzystywana bezmyślnie (np. zamiast klauzul if).


Nie zgadzam się z tobą.
Wyjątki często służą do wychodzenia z zagnieżdżonych wywołań funkcji, gdzie nie ma odpowiednika składni break, albo jego użycie wiązało by się z dużym kłopotem.
np:

  1. <?php
  2. try {
  3. for($i=0; $i < 10; $i++) {
  4. for($j=0; $j < 10; $j++) {
  5. for($k=0; $k < 10; $k++)
  6. funkcja();
  7. }
  8. }
  9. }
  10. catch(Exception $e) { }
  11.  
  12. function funkcja() {
  13. $j = 0
  14. while($j++ < 20) {
  15.  if(jakis_warunek)
  16.  throw new Exception;
  17. }
  18. }
  19. ?>
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: 14.10.2025 - 23:45