![]() |
![]() |
![]()
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.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 22:42 |