UserFriendlyExceptionFilter.cs 697 B

12345678910111213141516171819202122
  1. using Microsoft.AspNetCore.Mvc.Filters;
  2. using Microsoft.AspNetCore.Mvc;
  3. namespace ImageConvertService.ExceptionHandling;
  4. public class UserFriendlyExceptionFilter : IExceptionFilter
  5. {
  6. public void OnException(ExceptionContext context)
  7. {
  8. if (context.Exception is UserFriendlyException userFriendlyException)
  9. {
  10. // 设置处理状态为已处理,阻止默认的异常处理逻辑
  11. context.ExceptionHandled = true;
  12. // 设置响应状态码和内容
  13. context.Result = new ObjectResult(new { error = userFriendlyException.Message })
  14. {
  15. StatusCode = 400 // Bad Request
  16. };
  17. }
  18. }
  19. }