ASP.NET MVC - Rukovanje iznimkama

Sadržaj
Kada gradimo aplikaciju s ASP.NET MVC a mi to radimo pomoću AJAX Moramo poduzeti posebne mjere opreza kada gledamo greške koje naš program može vratiti.
Kad zahtjev ne uspije, dobit ćemo a greška poslužitelja 500 što nije dobro da korisnik vidi ili možda dobijemo poruku s tragom greške ASP.NET da ako ga ne snimimo prije nego što se može vidjeti vani i zlonamjerni korisnik može prikupiti podatke za njegovu upotrebu i napasti našu web stranicu.
Kako bismo izbjegli velike probleme kada naša aplikacija vrati pogrešku, moramo poraditi na tome da se s njima postupi kao s iznimkama, tako da prije nego što dođe do pogreške, naša aplikacija to može znati i poslati poruku prilagođeniju korisniku koja ne ugrožava našu sigurnost.
A iznimka se događa kada dio našeg koda pokuša izvršiti radnju i ne uspije, pokušavajući upitati nepostojeće podatke ili zato što ne provjeravamo neki unos korisničkih podataka, ako koristimo AJAX Možemo dobiti pogrešku od 500, ali također ako se to ne dogodi i pogrešni podaci stignu do našeg kontrolera, mogli bismo dobiti trag pogreške poput onog koji vidimo na sljedećoj slici:

The tragovi grešaka Rijetko nude korisnoj količini podataka za programera, a ako ne očistimo ono što će prikazati, možemo ugroziti sigurnost web stranice filtriranjem konfiguracijskih podataka iz naše aplikacije ili s našeg poslužitelja.
Kako biste izbjegli sve probleme koji se mogu pojaviti kada dođe do pogreške u ASP.NET možemo se nositi s takvim pogreškama kao iznimke i za to možemo uhvatiti pogrešku i poslati personaliziranu poruku ili jednostavno poslati odgovor da stranica koju tražite ne postoji.
Što koristitiDa bismo to učinili, možemo koristiti metodu HttpResponseException to nam omogućuje da prođemo kao parametar a HTTP kod like 404 stranica nije pronađena.
Na sljedećoj slici vidimo kod koji koristi spomenutu metodu za rješavanje iznimke, da vidimo:

POVEĆAJTE

Ovdje se ono što se događa prilično jednostavno, prvo tražimo element prema ID-u, u slučaju da se vrati prazan ili nepostojeći, za naš primjer potvrđujemo ga s null, uspostavit ćemo poruku o pogrešci, s metodom HttpResponseException postavljamo kod koji nije pronađen i pripremamo prilagođenu poruku, na kraju pokrećemo tu poruku.
Zahvaljujući ovome izbjegavamo slanje ništavog ili praznog odgovora na našu aplikaciju što je moglo uzrokovati da se u nekom trenutku prekine i pogrešno prikaže pogrešku, također smo poslali prijateljsku poruku korisniku u kojoj se navodi zašto njihov upit ne daje rezultate.
Dobivanjem prilagođene poruke možemo dati i specifičnije podatke koje programer može koristiti, lakše je znati da proizvod ne postoji, nego morati pregledati trag od 100 redaka da bismo to saznali.
Vodič smo završili naučivši nešto više o rizicima neispravljanja pogreškama, kao i naučivši kako se s njima postupati tretirajući ih kao iznimke.
wave wave wave wave wave