.net core .NET核心5。错误处理中间件vs UseExceptionHandler
我见过一些使用错误处理中间件的代码示例,如.net core .NET核心5。错误处理中间件vs UseExceptionHandler,.net-core,.net-5,.net Core,.net 5,我见过一些使用错误处理中间件的代码示例,如 public async Task Invoke(HttpContext context /* other dependencies */) { try { await next(context); } catch (Exception ex) { await HandleExceptionAsync(cont
public async Task Invoke(HttpContext context /* other dependencies */)
{
try
{
await next(context);
}
catch (Exception ex)
{
await HandleExceptionAsync(context, ex);
}
}
我还看到了使用
app.UseExceptionHandler(HandleException());
他们都一样吗?有偏好吗
谢谢。后一个选项是一个“预制”中间件,供您使用,它附带了一些您可以修改的选项
如果这些选项对您来说足够了,您可以直接使用它,否则您将需要编写一个自定义中间件
实际上,我更喜欢自定义中间件,因为异常处理变得非常明确,更容易理解,并且完全驻留在它自己的类中。也使“单元”测试更容易。