Gestion des exceptions dans MVC [Top 2 des méthodes pour gérer les exceptions]

Publié: 2020-12-29

La gestion des exceptions dans MVC est principalement utilisée lors de la création d'applications métier qui nécessitent des spécifications et des conditions particulières et qui ont des exigences uniques.

Voyons ce que la gestion des exceptions est en profondeur et comment elle vous aide avec vos applications.

Table des matières

Qu'est-ce que la gestion des exceptions ?

C'est le processus de traitement et de réponse aux conditions exceptionnelles qui se produisent et nécessitent des méthodes spécifiques ; cela doit être intégré dans les applications métier pour améliorer le résultat et garantir que toutes les exigences sont correctement traitées.

Il existe deux manières importantes de gérer ces exceptions

  • La méthode catch and block
  • La méthode de gestion des erreurs d'application.

Cependant, ce ne sont pas les seules méthodes utilisées pour le processus.

Ici, nous discuterons des différentes étapes et techniques que vous pouvez utiliser pour gérer les exceptions dans MVC.

La méthode de manipulation Try-Catch

La méthode catch and block est considérée comme la méthode traditionnelle utilisée pour la gestion des exceptions dans les applications basées sur MVC. Vous enregistrerez les informations d'erreur à l'aide de cette méthode.

Essayer

{ ajouter une exception ;}

catch (nom de l'exception)

{

retourner la vue ("Erreur");

}

Vous entrez la condition d'exception dans le blog d'essai et ajoutez le nom de l'exception pour le bloc catch. Lorsque l'exception est interceptée dans le bloc catch, il renverra l'erreur qu'il mentionne.

Cela peut également être utilisé pour gérer et consigner toutes les erreurs dans l'application.

Méthode OnExceptionOnException Method

Cette méthode vous permet de remplacer la méthode OnException dans la classe du contrôleur. Le code d'erreur 500 est utilisé pour gérer toutes les erreurs consignées résultant de la gestion des exceptions dans MVC .

Fondamentalement, vous pouvez enregistrer et spécifier la vue de l'exception avec cette méthode sans la boucle try. Vous n'avez pas besoin d'activer la configuration <customErrors> dans le fichier web.config pour commencer avec cette méthode.

classe publique HomeController : contrôleur

{

public ActionResult Contact()

{

chaîne msg = null ;

ViewBag.Message = msg.Length ;

retourner Vue();

}

protégé remplacer void OnException(ExceptionContext filterContext)

{

filterContext.ExceptionHandled = true ;

// Enregistrez l'erreur !!

// Rediriger vers l'action

filterContext.Result = RedirectToAction("Error", "InternalError");

// OU renvoie une vue spécifique

filterContext.Result = nouveau ViewResult

{

NomAffichage = "~/Affichage/Erreur/ErreurInterne.cshtml"

} ;

}

}

Jetez un œil au code ci-dessus et vous remarquerez que OnException est une méthode vide et qu'elle prend l'objet ExceptionContext comme argument.

Cet argument contient toutes les informations requises pour consigner l'erreur. Si vous définissez ExceptionHandled=true, vous pourrez enregistrer facilement les actions générées à partir d'un contrôleur particulier.

Attribut HandleError

Il s'agit encore d'une autre méthode populaire de gestion des exceptions et des erreurs dans le MVC de votre application. Si vous remarquez des erreurs créées par une méthode d'action ou un contrôleur, vous devez utiliser cette méthode.

Avec cet attribut, vous pouvez choisir d'afficher une vue personnalisée pour l'exception particulière. Cela peut se produire soit dans la méthode d'action, soit dans le contrôleur.

Là encore, cette méthode est également utilisée lorsque vous gérez des erreurs avec le code 500. Vous ne pouvez pas consigner d'exceptions à l'aide de cette méthode.

Il existe une manière particulière d'ajouter cet attribut pour qu'il fonctionne à votre demande. Vous devez ajouter le filtre d'attribut HandleError dans la méthode FilterConfig.RegisterGlobalFilters().

Parallèlement à cela, vous devez vous assurer que le mode d'erreurs personnalisées <CustomErrors = "on"> est toujours activé dans le fichier web.config. À ce stade, vous pouvez ajouter l'attribut au mode actif.

classe publique HomeController : contrôleur

{

[Erreur de traitement]

public ActionResult Contact()

{

chaîne msg = null ;

ViewBag.Message = msg.Length ;

retourner Vue();

}

}

Le code que nous venons de mentionner fonctionne mieux pour les besoins de gestion du contexte et des exceptions.

Ici, l'attribut est configuré pour la méthode d'action Contact(). Lorsque le processus est compilé, vous verrez le Error.cshtml affiché dans le mode d'affichage.

Cela se produit uniquement lorsqu'une exception se produit. Il s'agit de la vue par défaut dans tous les cas exceptionnels. Vous pouvez également utiliser cet attribut pour configurer les différentes pages afin de gérer les différents types d'exceptions.

Bien que cet attribut fonctionne parfaitement pour la gestion des erreurs et gère tous les types de configurations, il peut ne pas fonctionner partout. Choisissez-le dans certains cas où vous pensez que cela aidera votre application.

La méthode ne prend pas en charge les exceptions de journalisation. Il parvient à capturer uniquement les exceptions HTTP dans le code 500. Il ne peut pas capturer les exceptions d'autres contrôleurs. Ce n'est donc pas un attribut que vous pouvez considérer pour toutes les occasions et tous les besoins.

Héritage de HandleError

Vous pouvez même utiliser cette méthode pour gérer les exceptions. La méthode ci-dessus dont nous avons discuté ne vous permet pas de réutiliser les composants, ce qui peut être considéré comme un inconvénient.

Vous ne pouvez pas fonctionner si vous devez continuer à coder pour toutes les exceptions qui doivent être enregistrées.

Par conséquent, vous devrez utiliser cette extension. Il vous permet d'hériter de l'attribut HandleError et de l'utiliser sur le contrôleur spécifique. Par conséquent, vous pouvez gérer les exceptions sans avoir à coder trop souvent.

Lisez aussi: Questions d'entretien sur la gestion des exceptions

Événement Application_Error

L'événement Application_Error est encore une autre méthode de gestion de l'erreur d'application et de gestion des exceptions. Cette partie nécessite que vous contrôliez l'événement Application_Error dans le fichier global.asax.

Vous pouvez déclencher cet événement pour tous les types de codes d'erreur et de gestion des exceptions dans MVC , ce qui le rend plus facile à utiliser et l'une des meilleures méthodes pour gérer les exceptions.

Cela utilise la méthode de journalisation des erreurs principale, qui peut être utilisée pour gérer toutes les exceptions qui ne sont pas gérées dans l'application.

Gestion des erreurs HTTP

La méthode mentionnée ici ne peut gérer aucune des exceptions HTTP. Nous parlons d'exceptions telles que "Fichier introuvable" et d'autres messages d'erreur courants que vous êtes susceptible de recevoir.

Vous devrez entrer les détails de l'erreur et le code d'erreur dans la syntaxe pour gérer ces exceptions.

Vous devrez noter tous les codes d'erreur et messages possibles que vous êtes susceptible de recevoir dans le cadre de l'application avant de publier la syntaxe.

Pour améliorer vos connaissances des applications métier et maîtriser les langages de programmation, rejoignez upGrad .

Avec un éventail de cours et une gamme d'options de carrière, vous augmenterez vos opportunités de carrière.

Communiquez avec nos experts ou réservez un appel avec nous pour en savoir plus sur les options personnalisées pour vous.

Inscrivez-vous à des cours de génie logiciel dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Conclusion

Lorsque vous traitez avec la gestion des exceptions dans MVC , vous devez vous assurer que la méthode que vous choisissez vous permet d'enregistrer toutes les erreurs possibles. Vous devriez pouvoir réutiliser les composants et gérer toutes les erreurs d'application. En savoir plus sur la gestion des exceptions en Java.

Si vous souhaitez qu'une seule méthode gère toutes les exceptions possibles, vous devez opter pour la méthode Global Application_Error . Il s'assure de consigner toutes les erreurs avec les <CustomErrors> et s'assure qu'elles sont enregistrées sur Web.Config.

Avec cette méthode, l'utilisateur est redirigé vers les pages spécifiques lorsqu'il rencontre l'erreur. La gestion des exceptions est l'un des concepts fondamentaux du développement d'applications à l'aide d'ASP.Net MVC.

Nous espérons que cet article a été instructif pour en savoir plus sur la gestion des exceptions dans MVC ; veuillez explorer nos blogs pour en savoir plus sur les différentes applications.

Si vous souhaitez en savoir plus sur le développement full-stack, consultez le programme Executive PG de upGrad & IIIT-B en développement logiciel full-stack, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, plus de 9 projets et affectations, statut d'anciens élèves de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Devenir Développeur Full Stack

Postulez maintenant pour une maîtrise en génie logiciel