Gestionarea excepțiilor în MVC [Top 2 Metode de tratare a excepțiilor]

Publicat: 2020-12-29

Gestionarea excepțiilor în MVC este utilizată în principal atunci când se creează aplicații de linie de afaceri care necesită specificații și condiții speciale și au cerințe unice.

Să înțelegem ce este gestionarea excepțiilor în profunzime și cum vă ajută cu aplicațiile dvs.

Cuprins

Ce este gestionarea excepțiilor?

Este procesul de manipulare și răspuns la condiții excepționale care apar și necesită metode specifice; acest lucru trebuie să fie încorporat în aplicațiile de afaceri pentru a îmbunătăți rezultatul și pentru a se asigura că toate cerințele sunt gestionate corespunzător.

Există două moduri semnificative în care sunt gestionate aceste excepții

  • Metoda catch and block
  • Metoda de gestionare a erorilor aplicației.

Cu toate acestea, acestea nu sunt singurele metode utilizate pentru proces.

Aici, vom discuta diferiții pași și tehnici pe care le puteți folosi pentru a gestiona excepțiile în MVC.

Metoda de manipulare Try-Catch

Metoda catch and block este considerată metoda tradițională utilizată pentru gestionarea excepțiilor în aplicațiile bazate pe MVC. Veți înregistra informațiile despre eroare folosind această metodă.

Încerca

{ adăugați o excepție;}

prinde (nume excepție)

{

returnează Vizualizare („Eroare”);

}

Introduceți condiția de excepție în blogul de încercare și adăugați numele excepției pentru blocul catch. Când excepția este prinsă în blocul catch, va returna eroarea pe care o menționează.

Acesta poate fi folosit și pentru a gestiona și înregistra toate erorile din aplicație.

Metoda OnException

Această metodă vă permite să suprascrieți metoda OnException în cadrul clasei de controler. Codul de eroare 500 este utilizat pentru a gestiona toate erorile înregistrate rezultate din gestionarea excepțiilor în MVC .

Practic, puteți să vă înregistrați și să specificați vizualizarea excepției cu această metodă fără bucla try. Nu trebuie să activați configurația <customErrors> în web.config pentru a începe cu această metodă.

Clasa publică HomeController: Controler

{

Public ActionResult Contact()

{

șir msg = nul;

ViewBag.Message = msg.Length;

return View();

}

protected override void OnException(ExceptionContext filterContext)

{

filterContext.ExceptionHandled = adevărat;

//Înregistrați eroarea!!

//Redirecționează către acțiune

filterContext.Result = RedirectToAction(„Eroare”, „Eroare internă”);

// SAU returnează o vizualizare specifică

filterContext.Result = nou ViewResult

{

ViewName = „~/Views/Error/InternalError.cshtml”

};

}

}

Aruncă o privire la codul de mai sus și vei observa că OnException este o metodă void și ia obiectul ExceptionContext ca argument.

Acest argument conține toate informațiile necesare pentru a înregistra eroarea. Dacă setați ExceptionHandled=true, atunci veți putea să înregistrați cu ușurință acțiunile generate de la un anumit controler.

Atributul HandleError

Aceasta este încă o altă metodă populară de a gestiona excepția și de a gestiona erorile în MVC-ul aplicației dvs. Dacă observați erori create de o metodă de acțiune sau de un controler, ar trebui să utilizați această metodă.

Cu acest atribut, puteți selecta să afișați o vizualizare personalizată pentru o anumită excepție. Acest lucru se poate întâmpla fie în metoda de acțiune, fie în controler.

Din nou, această metodă este folosită și atunci când gestionați erori cu codul 500. Nu puteți înregistra excepții folosind această metodă.

Există o modalitate specială de a adăuga acest atribut pentru ca acesta să funcționeze la cererea dvs. Ar trebui să adăugați filtrul de atribut HandleError în cadrul metodei FilterConfig.RegisterGlobalFilters().

Împreună cu aceasta, ar trebui să vă asigurați că modul de erori personalizate <CustomErrors mode = „on”> este întotdeauna activat în web.config. În acest moment, puteți adăuga atributul în modul activ.

Clasa publică HomeController: Controler

{

[HandleError]

Public ActionResult Contact()

{

șir msg = nul;

ViewBag.Message = msg.Length;

return View();

}

}

Codul pe care tocmai l-am menționat funcționează cel mai bine pentru nevoile de gestionare a contextului și a excepțiilor.

Aici atributul este configurat pentru metoda de acțiune Contact(). Când procesul este compilat, veți vedea Error.cshtml afișat în modul de vizualizare.

Acest lucru se va întâmpla numai atunci când apare o excepție. Aceasta este vizualizarea implicită în toate cazurile excepționale. De asemenea, puteți utiliza acest atribut pentru a configura diferitele pagini pentru a gestiona diferitele tipuri de excepții.

Deși acest atribut funcționează perfect pentru gestionarea erorilor și gestionează toate tipurile de configurații, este posibil să nu funcționeze peste tot. Alegeți-l pentru unele cazuri în care credeți că vă va ajuta aplicația.

Metoda nu acceptă excepțiile de înregistrare. Reușește să capteze doar excepțiile HTTP din codul 500. Nu poate captura excepțiile de la alte controlere. Deci, nu este un atribut pe care să-l poți lua în considerare pentru toate ocaziile și nevoile.

Se moștenește de la HandleError

Puteți chiar să utilizați această metodă pentru a gestiona excepțiile. Metoda de mai sus despre care am discutat nu vă permite să reutilizați componentele, ceea ce poate fi considerat un dezavantaj.

Nu puteți funcționa dacă trebuie să continuați să codificați pentru toate excepțiile care trebuie înregistrate.

Ca urmare, va trebui să utilizați această extensie. Vă permite să moșteniți din atributul HandleError și să îl utilizați pe controlerul specific. Ca rezultat, puteți gestiona excepțiile fără a fi nevoie să codificați prea des.

Citește și: Întrebări de interviu privind gestionarea excepțiilor

Eveniment Application_Error

Evenimentul Application_Error este o altă metodă de gestionare a erorii de aplicație și de gestionare a excepțiilor. Această parte necesită să controlați evenimentul Application_Error din fișierul global.asax.

Puteți declanșa acest eveniment pentru toate tipurile de coduri de eroare și gestionarea excepțiilor în MVC , făcându-l mai ușor de utilizat și una dintre cele mai bune metode de a gestiona excepțiile.

Aceasta utilizează metoda principală de înregistrare a erorilor, care poate fi utilizată pentru a gestiona toate excepțiile care nu sunt gestionate în cadrul aplicației.

Gestionarea erorilor HTTP

Metoda menționată aici nu poate gestiona niciuna dintre excepțiile HTTP. Vorbim despre excepții, cum ar fi „Fișierul nu a fost găsit” și alte astfel de mesaje de eroare comune pe care trebuie să le primiți.

Va trebui să introduceți detaliile erorii și codul de eroare în sintaxă pentru a gestiona aceste excepții.

Va trebui să notați toate codurile de eroare și mesajele posibile pe care este posibil să le primiți ca parte a aplicației înainte de a elibera sintaxa.

Pentru a vă îmbunătăți cunoștințele despre aplicațiile de linie de afaceri și pentru a obține competențe în limbaje de programare, alăturați -vă upGrad .

Cu o gamă largă de cursuri și o gamă largă de opțiuni de carieră, îți vei spori oportunitățile de carieră.

Luați legătura cu experții noștri sau rezervați un apel cu noi pentru a afla mai multe despre opțiunile personalizate pentru dvs.

Înscrieți-vă la cursurile de inginerie software de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

Când aveți de-a face cu gestionarea excepțiilor în MVC , trebuie să vă asigurați că metoda pentru care optați vă permite să înregistrați toate erorile posibile. Ar trebui să puteți reutiliza componentele și să gestionați toate erorile aplicației. Aflați despre gestionarea excepțiilor în Java.

Dacă doriți ca o singură metodă să gestioneze toate excepțiile posibile, ar trebui să optați pentru metoda Global Application_Error . Se asigură că înregistrează toate erorile împreună cu <CustomErrors> și se asigură că acestea sunt înregistrate pe Web.Config.

Cu această metodă, utilizatorul este redirecționat către anumite pagini atunci când întâlnește eroarea. Gestionarea excepțiilor este unul dintre conceptele de bază ale dezvoltării aplicațiilor folosind ASP.Net MVC.

Sperăm că acest articol a fost perspicace pentru a afla despre gestionarea excepțiilor în MVC; vă rugăm să explorați blogurile noastre pentru a afla mai multe despre diferite aplicații.

Dacă sunteți interesat să aflați mai multe despre dezvoltarea full-stack, consultați programul Executive PG de la upGrad și IIIT-B în dezvoltarea software full-stack, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte și misiuni, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Deveniți un dezvoltator Full Stack

Aplicați acum pentru masterat în inginerie software