Sobes.tech
Back to questions
Junior — Middle
71

Каким образом можно реализовать обработку различных видов ошибок при использовании конструкции try-catch?

Companies where asked
Swiftfactory

Answer from AI

sobes.tech AI

В C# для обработки различных видов ошибок в конструкции try-catch можно использовать несколько блоков catch, каждый из которых перехватывает исключения определённого типа. Это позволяет обрабатывать разные исключения по-разному.

Пример:

try
{
    // Код, который может вызвать исключение
}
catch (ArgumentNullException ex)
{
    // Обработка исключения, связанного с null-аргументом
}
catch (InvalidOperationException ex)
{
    // Обработка исключения неверной операции
}
catch (Exception ex)
{
    // Общая обработка всех остальных исключений
}

Также можно использовать фильтры исключений (catch с условием), чтобы более точно контролировать обработку:

catch (Exception ex) when (ex.Message.Contains("specific error"))
{
    // Обработка исключения с определённым условием
}

Важно располагать более специфичные catch-блоки выше общих, чтобы они не перехватывались раньше. Такой подход позволяет гибко и безопасно обрабатывать разные ошибки.