Sobes.tech
Junior — Middle

Имали ли сте опит с използването на филтри за изключения в проектите си?

sobes.tech AI

Отговор от AI

Да, в проекти на C# съм използвал филтри за изключения за централизирано управление на грешки. Например, в ASP.NET Core може да се настрои глобален филтър за изключения, който прихваща всички необработени изключения и връща стандартизиран отговор към клиента.

Пример за прост филтър за изключения:

public class CustomExceptionFilter : IExceptionFilter
{
    public void OnException(ExceptionContext context)
    {
        // Записване на грешката
        Console.WriteLine(context.Exception.Message);

        // Създаване на отговор
        context.Result = new JsonResult(new { error = "Възникна грешка" })
        {
            StatusCode = 500
        };
        context.ExceptionHandled = true;
    }
}

Този подход помага да се избегне дублирането на код за обработка на грешки във всеки контролер и подобрява поддръжката на приложението.