Maison développement back-end Tutoriel C#.Net Quel est le mécanisme de gestion des erreurs de .net

Quel est le mécanisme de gestion des erreurs de .net

Apr 26, 2019 pm 01:35 PM
.net 错误处理机制

Le mécanisme de gestion des erreurs de .NET est le suivant : 1. Événement [Page_Error] ; 2. Attribut ErrorPage ; 3. Événement [Application_Error] ; 4. Élément de configuration []. Les quatre mécanismes de traitement ci-dessus sont principalement utilisés pour la gestion des exceptions et la gestion des erreurs au niveau de la page.

Quel est le mécanisme de gestion des erreurs de .net

.NET fournit quatre mécanismes de gestion des erreurs :

1.Événement Page_Error

L'événement Page_Error fournit un moyen de capturer les erreurs qui se produisent au niveau de la page. Vous pouvez simplement afficher un message d'erreur (comme indiqué dans l'exemple de code ci-dessous), enregistrer un événement ou effectuer une autre action.

private void Page_Load(object sender, System.EventArgs e)
   { // Put user code to initialize the page here
        throw new Exception("Page Error!");
   }
protected void Page_Error(object sender, EventArgs e) 
   {
      Exception objErr = Server.GetLastError().GetBaseException();
    Response.Write("Error:" + objErr.Message);
       Server.ClearError(); //同样要注意这句代码的使用
  }
Copier après la connexion

Remarque : Cet exemple affiche un message d'erreur détaillé dans le navigateur et est fourni à titre d'illustration uniquement. Soyez prudent lorsque vous affichez des informations détaillées aux utilisateurs finaux de votre application. Il est plus approprié d'afficher un message à l'utilisateur indiquant qu'une erreur s'est produite, puis de consigner les détails spécifiques de l'erreur.

2. Attribut ErrorPage

Vous pouvez définir l'attribut ErrorPage presque à tout moment sur la page pour déterminer vers quelle page il sera redirigé lorsqu'une erreur se produit. Pour que l'attribut ErrorPage fonctionne, l'attribut mode dans l'élément de configuration doit être défini sur "On".

this.ErrorPage = "~/ErrorHandling/PageError.html";
Copier après la connexion

Si Page_Error et ErrorPage existent, quel est l'ordre d'exécution de la page lorsqu'une exception est levée ? La page exécutera d'abord la fonction de traitement d'événement Page_Error. Si la fonction Server.ClearError() est appelée dans l'événement Page_Error() pour effacer les informations d'exception, elle ne passera pas à la page spécifiée par l'attribut ErrorPage ; () n'est pas appelé, les informations d'exception continueront à être lancées vers le haut et la page passera à la page spécifiée par ErrorPage. Cela prouve également l'ordre de priorité : événement Page_Error > attribut ErrorPage.

3.Événement Application_Error

Semblable à l'événement Page_Error, vous pouvez utiliser l'événement Application_Error pour capturer les erreurs qui se produisent dans l'application. Étant donné que les événements se produisent à l'échelle de l'application, vous pouvez consigner les informations sur les erreurs d'application ou gérer d'autres erreurs au niveau de l'application qui peuvent survenir. Ajoutez le code suivant au fichier Global.asax et tout ira bien.

protected void Application_Error(object sender, EventArgs e)
      {
         Exception ex = Server.GetLastError().GetBaseException();
         //实际应用中这里可以将Exception信息记Log或是保存到数据库中
         //还可以将错误发邮件给网站维护人员
          Response.Write("Error:" + ex.Message);
         //清除Exception,避免继续传递给上一级处理
         //这里上级就是<CustomerErrors>配置节了
          Server.ClearError(); 
     }
Copier après la connexion

4. Élément de configuration

La section de configuration page d'erreur defaultRedirect ou spécifiez une page spécifique en fonction du code d'erreur HTTP généré. Cette page personnalisée s'affiche si une erreur qui n'a été détectée à aucun niveau précédent de l'application se produit.

<customErrors mode="On" defaultRedirect="~/ErrorHandling/ApplicationError.html"> <error statusCode="404" redirect="~/ErrorHandling/404.html" /> </customErrors>
Copier après la connexion

De même, si Application_Error et existent en même temps, il y a aussi un problème d'ordre d'exécution. Étant donné que l'élément de configuration prioritaire Application_Error> ; section de configuration Le defaultRedirect ne fonctionne pas car l'exception a été effacée ; si la fonction Server.ClearError() n'est pas appelée dans l'événement Application_Error, la page d'erreur sera déplacée vers la page URL spécifiée par defaultRedict pour afficher un message d'erreur convivial. à l'utilisateur.

En analysant les quatre mécanismes de gestion des erreurs ci-dessus fournis par .NET, nous pouvons les classer sous différentes perspectives pour faciliter notre compréhension et notre utilisation.

1. Classé fonctionnellement : utilisé pour la gestion des exceptions (Gestion des exceptions) sont l'événement Page_Error et l'événement Application_Error ; pour la redirection de la page d'erreur de l'utilisateur (Redirection de l'utilisateur vers une page d'erreur) sont l'attribut ErrorPage et

2. Classification dans le cadre de la gestion des erreurs : l'événement Page_Error et l'attribut ErrorPage sont utilisés pour la gestion des erreurs au niveau de la page ; l'événement Application_Error et < sont utilisés pour la gestion des erreurs au niveau de l'application ;customErrors>Élément de configuration.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM May 06, 2024 pm 04:43 PM

Le développement des technologies d’intelligence artificielle (IA) bat son plein aujourd’hui et elles ont montré un grand potentiel et une grande influence dans divers domaines. Aujourd'hui, Dayao partagera avec vous 4 cadres de projets liés au modèle d'IA open source .NET LLM, dans l'espoir de vous fournir une référence. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel est un kit de développement logiciel (SDK) open source conçu pour intégrer de grands modèles de langage (LLM) tels qu'OpenAI, Azure

Quelles sont les perspectives d'emploi du C# ? Quelles sont les perspectives d'emploi du C# ? Oct 19, 2023 am 11:02 AM

Que vous soyez débutant ou professionnel expérimenté, la maîtrise du C# ouvrira la voie à votre carrière.

Nouveau mécanisme de gestion des erreurs dans PHP8.0 : interface jetable Nouveau mécanisme de gestion des erreurs dans PHP8.0 : interface jetable May 14, 2023 am 08:21 AM

Dans PHP8.0, une mise à jour très importante est l'amélioration du mécanisme de gestion des erreurs, qui introduit une nouvelle interface jetable. Cette interface comprend deux types d'exceptions, Erreur et Exception, afin que les développeurs n'aient pas besoin de faire la distinction entre les erreurs et les exceptions conformes aux spécifications d'exception capturables. Ci-dessous, nous présenterons en détail l’interface jetable. Qu'est-ce que throwable ? Throwable est une nouvelle interface introduite dans PHP8.0, incluant Error et Excepti

Différences de performances entre le framework Java et le framework .NET Différences de performances entre le framework Java et le framework .NET Jun 03, 2024 am 09:19 AM

En termes de traitement des requêtes à haute concurrence, .NETASP.NETCoreWebAPI fonctionne mieux que JavaSpringMVC. Les raisons incluent : la compilation précoce AOT, qui réduit le temps de démarrage, une gestion plus raffinée de la mémoire, où les développeurs sont responsables de l'allocation et de la libération de la mémoire des objets.

Technologie d'optimisation des performances .NET pour les développeurs Technologie d'optimisation des performances .NET pour les développeurs Sep 12, 2023 am 10:43 AM

Si vous êtes un développeur .NET, vous devez être conscient de l'importance d'optimiser les fonctionnalités et les performances pour fournir des logiciels de haute qualité. En utilisant de manière experte les ressources fournies et en réduisant les temps de chargement des sites Web, vous créez non seulement une expérience agréable pour vos utilisateurs, mais vous réduisez également les coûts d'infrastructure.

Optimiser le mécanisme de gestion des erreurs des programmes PHP Optimiser le mécanisme de gestion des erreurs des programmes PHP Aug 07, 2023 pm 05:30 PM

Optimisez le mécanisme de gestion des erreurs des programmes PHP. La gestion des erreurs est une partie importante du développement qui ne peut être ignorée. Un bon mécanisme de gestion des erreurs peut nous aider à localiser les erreurs à temps et à les corriger lorsque des problèmes surviennent dans le programme. En PHP, nous pouvons utiliser certaines méthodes d'optimisation pour améliorer les capacités de gestion des erreurs du programme et garantir la stabilité et la fiabilité du programme. Utilisez les niveaux d'erreur appropriés PHP fournit plusieurs niveaux d'erreur, tels que E_ERROR, E_WARNING, E_NOTICE, etc. Nous devrions considérer la situation spécifique

Comment gérer les erreurs de validation de formulaire en PHP ? Comment gérer les erreurs de validation de formulaire en PHP ? Dec 02, 2023 pm 01:30 PM

Comment gérer les erreurs de validation de formulaire en PHP ? Lors du développement d’applications web, la validation des formulaires est une étape très importante. En validant les données du formulaire, vous pouvez vous assurer que les données saisies par l'utilisateur sont conformes au format et aux exigences attendus, garantissant ainsi l'exactitude et la sécurité du programme. Lorsque les utilisateurs soumettent des données de formulaire, certaines erreurs peuvent survenir, telles que des champs obligatoires manquants, des formats de champs incorrects, etc. À l'heure actuelle, nous devons détecter et gérer ces erreurs en temps opportun. Voici quelques méthodes courantes de gestion des erreurs de validation de formulaire et des exemples de code : Afficher un message d'erreur en cas d'échec de la validation du formulaire

Analyse et solutions aux problèmes du mécanisme de gestion des erreurs en C++ Analyse et solutions aux problèmes du mécanisme de gestion des erreurs en C++ Oct 08, 2023 am 11:33 AM

Analyse des problèmes et solutions pour le mécanisme de gestion des erreurs en C++ Introduction : La gestion des erreurs est une partie très importante du processus de développement logiciel et peut aider les développeurs à diagnostiquer, déboguer et réparer les bogues dans les logiciels. En C++, le mécanisme de gestion des erreurs est principalement implémenté via la gestion des exceptions. Cependant, la gestion des exceptions peut également causer certains problèmes. Cet article analysera les problèmes du mécanisme de gestion des erreurs en C++ et proposera des solutions. 1. Inconvénients de la gestion des exceptions La gestion des exceptions est un mécanisme de gestion des erreurs très puissant, mais elle n'est pas sans inconvénients.

See all articles