Карточка 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 ошибок.