Jak reagowac na wyjątki w asp net mvc 5

Odpowiedz Nowy wątek
2019-01-11 21:35
0

W jaki sposób obsługiwać wyjątki w asp net mvc 5? Na razie w przypadku jakiś błędów wyrzuca mi aplikację do tego żółtego okienka z opisem błędu. Jak to zrobić zeby miec swoją stronę która się wyświetli w razie wyjątku?

Pozostało 580 znaków

2019-01-12 03:12
2

Jest takie coś jak ExceptionFIlter, tam możesz przechwycić rzucony wyjątek, zalogować do pliku, i nawet przekierować na inną stronę, jeśli chcesz. Taki filtr może zostać skonfigurowany globalnie dla całej aplikacji, więc jest to jednorazowa praca.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2019-01-12 09:36
0

@somekind: ten ExceptionFIlter to jest taka dobra praktyka postępowania? Tzn chodzi mi o to czy tak powinno się postępować i czy jest to powszechnie stosowane czy raczej firmy nie zwracaja uwagi na dobre praktyki i inaczej sobie to ogarniają?

Pozostało 580 znaków

2019-01-12 11:29
1

Robisz abstrakcyjny kontroller bazowy po którym dziedziczą kontrollery. I tam jest do nadpisania OnException. I możesz zorbić jakieś przekierowanie. A w global asax.cs masz Application_Error() . W global asax np obsługujesz error typu nie istniejący zasób czyli coś co Ci nie wejdzie do żadnego kontrollera. Ja przynajmniej tak robie. A czy to dobra praktyka to nie wiem :)

edytowany 1x, ostatnio: szydlak, 2019-01-12 11:31
Ja powiedziałbym, że lepiej filtr niż bazowy kontroler. - some_ONE 2019-01-12 13:31
Możliwe. A konkretnie to dlaczego lepiej ? - szydlak 2019-01-12 13:36
Bo do tego zostały stworzone - some_ONE 2019-01-12 14:34
Bo to nie zadziała, jeśli wyjątek wystąpi przed uruchomieniem kontrolera. A Application_Error nie działa w WebAPI, co utrudnia migrację. Poza tym, dziedziczenie jest fuj, zwłaszcza w sytuacji, w której z powodzeniem można rozwiązać problem bez niego. - somekind 2019-01-12 16:25

Pozostało 580 znaków

2019-01-12 16:26
1

@goodfather: tak, to jest dobra praktyka, bo jeden punkt obsługi wyjątków załatwia zdecydowaną większość przypadków. Jaka byłaby alternatywa? try-catch w każdej akcji? Bez sensu.
Chyba nigdy nie widziałem projektu MVC bez tego.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0