Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak duży blok try catch
hugo_amv
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 22.06.2005
Skąd: Lublin

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


Na pewnej mądrej stronie ( nie pamiętam jakiej, może na java.sun.com, ale na pewno źródło było dość pewne) spotkałem się z opinią, że nie powino się umieszczać duży bloków kodu pomiędzy try catch, a jedynie krótkie fragmetny kodu i odrazu przechwytywać błędy. Ja wolę wszystkie wyjątki przechwytywać w silniku strony, a dopiero potem zajmować się ich obsługą.

  1. <?php
  2. try{
  3. /**
  4.  * Tutaj różne moduły, uruchamiaja różne klasy,
  5.  * które zwracają różne wyjątki :)
  6.  */
  7. }catch (SQLException $e){
  8. // Obługa wyjątków związanych z bazą danych
  9. echo $e;
  10. }catch (FileException $e){
  11. // Inny typ wyjątków
  12. echo $e;
  13. }catch (Exception $e){
  14. // Pozostałe rodzaje błędów
  15. }
  16. ?>


Jednak na tamtej stronie było wyraźnie napisane, że jest to złą praktyką programistyczną. Jak to w końcu jest?


--------------------
DzbanyIT blog programisty
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zulus
post
Post #2





Grupa: Zarejestrowani
Postów: 225
Pomógł: 18
Dołączył: 30.06.2003
Skąd: Wrocław

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


Wyobraź sobie że moduł napiszę Ci ktoś inny. Z kąd będziesz wiedział czy nie stworzy nowego wyjątku, i jak go obsłużyć.

Po za tym im mniejsze bloki try, tym mniej wyjątków umieścisz jednocześnie, więc mniej siedzi w pamięci (oszczędność zasobów winksmiley.jpg)


--------------------
Go to the top of the page
+Quote Post
sobstel
post
Post #3





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


Cytat(zulus @ 3.06.2006, 15:47 ) *
Wyobraź sobie że moduł napiszę Ci ktoś inny. Skąd będziesz wiedział czy nie stworzy nowego wyjątku, i jak go obsłużyć.


aby zbierać nieprzewidziane pierwotnie wyjątki, na samym końcu łańcucha jest :

  1. <?php
  2. }catch (Exception $e){
  3. // Pozostałe rodzaje błędów
  4. }
  5. ?>



co do samego tematu to osobiście ciągle nie widzę dlaczego jest to złą praktyką programistyczną (może jakieś linki z krwi i kości a nie suche słowa?). przechwytywanie i obsluga bledow w jednym miejscu sprzyja przejrzystosci, a po to mam takie narzedzia jak backtrace zeby dojsc do tego gdzie i dlaczego blad ten wystapil.

Ten post edytował sopel 3.06.2006, 15:16:29


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 00:50