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.

Author: JohnB, 2013-03-21

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.

Jako przykład sprawdź następujące linki dla java:

Going through takie materiały dałyby ogólny pomysł, aby podążać za mechanizmami obsługi wyjątków.

Zobacz też inne pytania:

 58
Author: Blaise,
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.

 1
Author: JMan,
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...

 0
Author: Alex D,
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