Wzorce projektowe: obsługa wyjątków / błędów
Czy istnieje jakiś zasób (WWW lub książka) opisujący obsługę wyjątków / obsługę błędów wzorców projektowych?
Jest dużo literatury na temat tego, jak pisać czysty kod, i jest wiele książek obejmujących wzorce projektowe. Nigdy jednak nie widziałem żadnego wzorca projektowego obejmującego kwestię, gdzie i jak najlepiej radzić sobie z błędami i jak najlepiej propagować błąd pojawiający się w funkcji niskiego poziomu na poziomach abstrakcji.
3 answers
Te wzorce i najlepsze praktyki są często związane z konkretną platformą/językiem, więc są pierwszym miejscem do ich poszukiwania.
- Exception patterns wiki jest ogólnym zasobem wzorców.
Jako przykład sprawdź następujące linki dla java:
- najlepsze praktyki obsługi wyjątków
- 15 najlepsze praktyki dotyczące obsługi wyjątków
- Exception-Obsługa Antypatternów
Going through takie materiały dałyby ogólny pomysł, aby podążać za mechanizmami obsługi wyjątków.
Zobacz też inne pytania:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-02 12:45:13
Najlepszym podejściem jest nigdy nie połykać żadnych WYJĄTKÓW w kodzie aplikacji. Podłącz obsługę do nieobsługiwanych wyjątków w swoich aplikacjach podczas bootstrapowania, gdzie możesz pokazać komunikat o błędzie i wykonać logowanie.
Niektóre przyzwoite książki, które czytałem, zalecają takie podejście.
Http://thibautvs.com/blog/?p=2238 jest dobry, gdzie jest wspomniany.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-21 08:38:32
Opis używania WYJĄTKÓW na. Net (ale nie tylko) w szczegółach: http://msdn.microsoft.com/en-gb/library/5b2yeyab (v=vs.100). aspx
Kiedy należy ich używać, jak je pisać, jak prawidłowo z nimi postępować itd...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-22 05:33:47