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.
.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(); //同样要注意这句代码的使用 }
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
this.ErrorPage = "~/ErrorHandling/PageError.html";
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(); }
4.
La section de configuration
<customErrors mode="On" defaultRedirect="~/ErrorHandling/ApplicationError.html"> <error statusCode="404" redirect="~/ErrorHandling/404.html" /> </customErrors>
De même, si Application_Error et
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!