Централизованная обработка исключений в ASP.NET Core Web API

Обработка исключений позволяет нам избежать аварийного завершения работы приложения. Для обработки исключений в приложениях C#, обычно, используются блоки try...catch с ключевым словом final для того, чтобы очистить ресурсы приложения. Это стандартная практика обработки исключений, которая может также применяться и в приложениях ASP.NET Core Web API. Однако, платформа ASP.NET Core позволяет извлечь всю логику обработки исключений и сосредоточить её в одном централизованном месте, избежав тем самым использования блоков try…catch в действиях контроллера и обеспечить, при необходимости, единый формат сообщений о возникших исключительных ситуациях в приложении. Такой подход к обработке исключений в приложениях ASP.NET Core часто называют Global Exception Handling – глобальная обработка исключений, хотя, на мой взгляд, правильнее было бы назвать этот механизм так, как указано в заголовке — централизованная обработка исключений, так как всё же, рассматриваемые ниже способы обработки исключений помогают обработать не все возможные исключения в приложении.

Читать далее