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()
中。