Карточка Middle Исключения обновлено
Глобальная обработка ошибок в ASP.NET Core
Вопрос
Как в ASP.NET Core 8 централизованно превратить исключения в ответ API?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
builder.Services.AddProblemDetails(); builder.Services.AddExceptionHandler<MyHandler(); где MyHandler : IExceptionHandler app.UseExceptionHandler(); Обработчик маппит тип исключения в статус и пишет ProblemDetails (RFC 9457).
Ответ
builder.Services.AddProblemDetails();
builder.Services.AddExceptionHandler<MyHandler>(); где MyHandler : IExceptionHandler
app.UseExceptionHandler();
Обработчик маппит тип исключения в статус и пишет ProblemDetails (RFC 9457).
Разбор
IExceptionHandler появился в .NET 8. Раньше писали свой middleware с try/catch вокруг next().
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.