默认异常处理
app.UseDeveloperExceptionPage();
自定义异常处理
public static class ExceptionHandlingExtensions
{
public static void UseMyExceptionHandler(this IApplicationBuilder app,ILoggerFactory loggerFactory)
{
app.UseExceptionHandler(build =>
{
build.Run(async context =>
{
context.Response.StatusCode = StatusCodes.Status500InternalServerError;
context.Response.ContentType = "application/json";
var ex = context.Features.Get<IExceptionHandlerFeature>();
if (ex != null)
{
var logger = loggerFactory.CreateLogger("Blog.Api.Extensions.ExceptionHandlingExtensions");
logger.LogError(500, ex.Error, ex.Error.Message);
}
await context.Response.WriteAsync(ex?.Error?.Message ?? "An Error Occurred.");
});
});
}
}
public void Configure(IApplicationBuilder app,ILoggerFactory loggerFactory)
{
app.UseMyExceptionHandler(loggerFactory);
app.UseHttpsRedirection();
app.UseMvc();
}