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ą.
Jednak na tamtej stronie było wyraźnie napisane, że jest to złą praktyką programistyczną. Jak to w końcu jest? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
Powszechnie używa się jednego typu wyjątków w całej bibliotece, co nie znaczy, że ten wyjątek w każdej sytuacji znaczy to samo. Przyglądnij się na przykład PDO, które zawsze wyrzuca PDOException. Jeżeli w jednym bloku try będziesz przechwytywał wyjątki z konstruktora i wywołań kilku zapytań, to po prostu zgubisz się i nie będziesz wiedział co się stało. Poza tym pisanie w długim bloku try i wyłapywanie n wyjątków jest po prostu nieeleganckie i mało wydajne. Co do czytelności... nie sądzę, żeby było czytelne oczekiwanie na wyjątek, w miejscu, w którym nie wystąpi. Chyba, że u ciebie w większości instrukcji w bloku try mogą zostać wyrzucone wyjątki. Jest jeszcze jedna sytuacja, w której można przywrócić poprawne działanie skryptu poprzez wykonanie konkretnych instrukcji po przechwyceniu wyjątku. W tym przypadku rozdzielenie kodu na kilka bloków jest konieczne.
|
|
|
|
hugo_amv Jak duży blok try catch 3.06.2006, 14:26:08
SongoQ No pomysl sobie czy jesli bedziesz mial powiedzmy ... 3.06.2006, 14:28:56
zulus Wyobraź sobie że moduł napiszę Ci ktoś inny. Z kąd... 3.06.2006, 14:47:40 
sopel Cytat(zulus @ 3.06.2006, 15:47 ) Wyobra... 3.06.2006, 15:15:50
hugo_amv Cytat(SongoQ @ 3.06.2006, 13:28 ) No pomy... 3.06.2006, 15:06:00 
zulus Cytat(hugo_amv @ 3.06.2006, 16:06 ) Wydaj... 3.06.2006, 16:11:25
hugo_amv Cytat(zulus @ 3.06.2006, 15:11 ) W sumie ... 3.06.2006, 16:41:09 
hugo_amv Cytat(Ludvik @ 3.06.2006, 17:08 ) Powszec... 3.06.2006, 18:34:15
Termit_ A ja pytam po co do żądania o wyświetlenie newsa w... 3.06.2006, 19:36:16 
hugo_amv Cytat(Termit_ @ 3.06.2006, 18:36 ) A ja p... 3.06.2006, 21:44:47
Ludvik CytatWyjątek wyrzuca treść błedu oraz kod błędu. W... 3.06.2006, 22:33:06
Termit_ No, z takim czymś się jak najbardziej zgodzę. Ja r... 4.06.2006, 11:43:00
bigZbig Przede wszystkim wyjatek nie jest tozsamy z pojeci... 8.06.2006, 12:59:49 ![]() ![]() |
|
Aktualny czas: 9.08.2026 - 03:49 |