ASP.NET Core Web API中实现全局异常捕获与处理
2021-01-16 12:11
标签:package this 一点 有一个 bho mod public lob config 处理全局异常 HANDLING ERRORS GLOBALLY 在上面的示例中,我们的 action 内部有一个 我们也可以通过创建自定义的中间件来实现我们的自定义异常处理: 之后,我们只需要将其注入到应用程序的请求管道中即可: ASP.NET Core Web API中实现全局异常捕获与处理 标签:package this 一点 有一个 bho mod public lob config 原文地址:https://www.cnblogs.com/jcsoft/p/12222007.html
try-catch
代码块。这一点很重要,我们需要在我们的 action 方法体中处理所有的异常(包括未处理的)。一些开发者在 action 中使用 try-catch
代码块,这种方式明显没有任何问题。但我们希望 action 尽量保持简洁。因此,从我们的 action 中删除 try-catch
,并将其放在一个集中的地方会是一种更好的方式。.NET Core 给我们提供了一种处理全局异常的方式,只需要稍加修改,就可以使用内置且完善的的中间件。我们需要做的修改就是在 Startup
类中修改 Configure
方法:public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseExceptionHandler(config =>
{
config.Run(async context =>
{
context.Response.StatusCode = 500;
context.Response.ContentType = "application/json";
var error = context.Features.Get
// You may need to install the Microsoft.AspNetCore.Http.Abstractions package into your project
public class CustomExceptionMiddleware
{
private readonly RequestDelegate _next;
private readonly ILogger
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseCustomExceptionMiddleware();
}
文章标题:ASP.NET Core Web API中实现全局异常捕获与处理
文章链接:http://soscw.com/index.php/essay/42699.html