![]() |
![]() |
![]()
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: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 22.06.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
No pomysl sobie czy jesli bedziesz mial powiedzmy tysiac lini kodu i rzuci CI wyjatek czy aby wszystko dobrze potrafisz osbluzyc i bedziesz wiedzial w ktorym miejscu to wystapilo. Zaleceniem jest stosowanie jak najmniejszej ilosci kodu w bloku try Tworze klasy dziedziczące po Exception i jestem w stanie każdy wyjątek odpowiednio obsłużyć. Jak padła baza danych to wyświetla się 'awaria bazy danych, przepraszamy', jak użytkownik nie ma praw dostępu do pliku to inny komunikat. 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ć. Jak ktoś inny stworzy moduł to będzię musiał ze mną skontaktować jakie może zwracać wyjątki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A tak poważnie to tu masz racje, mała niedogodność. 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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) Wydaje mi się, że tylko jeden wyjątek jest zgłaszany ( umieszczany w pamięci), a nie wszystie pokolei, a program odrazu przechodzi do pierwszego napotkanego boku catch. Ten post edytował hugo_amv 3.06.2006, 15:06:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 12:47 |