ASP.NET 核心中的全局异常处理

UseExceptionHandler 可用于全局处理异常。你可以获取异常对象的所有详细信息,如 Stack Trace,Inner 异常等。然后你可以在屏幕上显示它们。你可以轻松地实现这样的。

app.UseExceptionHandler(
 options => {
    options.Run(
    async context =>
    {
      context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
      context.Response.ContentType = "text/html";
      var ex = context.Features.Get<IExceptionHandlerFeature>();
      if (ex != null)
      {
        var err = $"<h1>Error: {ex.Error.Message}</h1>{ex.Error.StackTrace }";
        await context.Response.WriteAsync(err).ConfigureAwait(false);
      }
    });
 }
);

你需要将它放在 startup.cs 文件的 configure() 中。