Heim  >  Artikel  >  Backend-Entwicklung  >  ASP.NET Core-Ausnahme- und Fehlerbehandlung (8)_Praktische Tipps

ASP.NET Core-Ausnahme- und Fehlerbehandlung (8)_Praktische Tipps

微波
微波Original
2017-06-28 14:06:571468Durchsuche

Dieser Artikel stellt hauptsächlich die relevanten Informationen zu ASP.NETKernausnahme und Fehlerbehandlung vor. Interessierte Freunde können darauf verweisen

In diesem Kapitel besprechen wir die Ausnahme- und Fehlerbehandlung. Wenn in einer ASP.NET Core-Anwendung ein Fehler auftritt, können Sie ihn auf verschiedene Arten behandeln. Schauen wir uns die Behandlung von Ausnahmen an, indem wir eine

Middleware hinzufügen, die uns bei der Fehlerbehandlung hilft.

Um einen Fehler zu simulieren, gehen wir zur Anwendung, führen sie aus und sehen, wie sich das Programm verhält, wenn wir nur

eine Ausnahme auslösen.

using Microsoft.AspNet.Builder; 
using Microsoft.AspNet.Hosting; 
using Microsoft.AspNet.Http; 
using Microsoft.Extensions.DependencyInjection; 
using Microsoft.Extensions.Configuration; 
namespace FirstAppDemo { 
 public class Startup { 
  public Startup() { 
   var builder = new ConfigurationBuilder() 
   .AddJsonFile("AppSettings.json"); 
   Configuration = builder.Build(); 
  } 
  public IConfiguration Configuration { get; set; } 
   
  // This method gets called by the runtime. 
  // Use this method to add services to the container. 
  // For more information on how to configure your application, 
  // visit http://go.microsoft.com/fwlink/?LinkID=398940 
  public void ConfigureServices(IServiceCollection services) { 
  } 
  
  // This method gets called by the runtime. 
  // Use this method to configure the HTTP request pipeline.
  public void Configure(IApplicationBuilder app) { 
   app.UseIISPlatformHandler(); 
   app.UseRuntimeInfoPage(); 
   
   app.Run(async (context) => { 
   throw new System.Exception("Throw Exception"); 
   var msg = Configuration["message"]; 
   await context.Response.WriteAsync(msg); 
   }); 
  } 
   
  // Entry point for the application. 
  public static void Main(string[] args) => WebApplication.Run<Startup>(args); 
 } 
}
Es wird lediglich eine sehr allgemeine Ausnahmemeldung ausgegeben. Speichern Sie die Seite „Startup.cs“ und führen Sie Ihre Anwendung aus.

Sie werden sehen, dass wir diese Ressource nicht laden konnten. Es gab einen HTTP 500-Fehler, einen internen Serverfehler, und diese Seite war nicht sehr hilfreich. Es kann hilfreich sein, einige Ausnahmeinformationen zu erhalten.

Fügen wir eine weitere Middleware hinzu, UseDeveloperExceptionPage.

// This method gets called by the runtime. 
// Use this method to configure the HTTP request pipeline. 
public void Configure(IApplicationBuilder app) { 
 app.UseIISPlatformHandler(); 
 app.UseDeveloperExceptionPage(); 
 app.UseRuntimeInfoPage(); 
 
 app.Run(async (context) => { 
  throw new System.Exception("Throw Exception"); 
  var msg = Configuration["message"]; 
  await context.Response.WriteAsync(msg); 
 }); 
}
Diese Middleware unterscheidet sich ein wenig von den anderen, die normalerweise auf eingehende Anfragen warten und einige Antworten auf die Anfragen geben.

UseDeveloperExceptionPage kümmert sich nicht so sehr darum, was später in der Pipeline mit der eingehenden Anfrage passiert.

Es ruft einfach die nächste Middleware auf und wartet dann, um zu sehen, ob es eine Ausnahme in der Pipeline gibt. Wenn es eine Ausnahme gibt, zeigt Ihnen diese Middleware eine Fehlerseite über die Ausnahme an.

Jetzt führen wir die Anwendung erneut aus. Dadurch wird eine Ausgabe erzeugt, wie im Screenshot unten gezeigt.

Wenn nun eine Ausnahme im Programm auftritt, werden auf der Seite einige Ausnahmeinformationen angezeigt, die Sie sehen möchten. Außerdem erhalten Sie einen Stack-Trace: Hier können Sie sehen, dass in Zeile 37 von Startup.cs eine nicht behandelte Ausnahme ausgelöst wurde.

Alle diese Ausnahmeinformationen werden für Entwickler sehr nützlich sein. Tatsächlich möchten wir möglicherweise, dass diese Ausnahmemeldungen nur angezeigt werden, wenn der Entwickler die Anwendung ausführt.

Das obige ist der detaillierte Inhalt vonASP.NET Core-Ausnahme- und Fehlerbehandlung (8)_Praktische Tipps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn