TGViewer
C# | Вопросы собесов C# | Вопросы собесов @easy_c_sharp · 5.01K subscribers
Post #2250 770
🤔 Есть ли разница в какой последовательности писать catch-и?

Да, порядок catch имеет значение!
Исключения проверяются сверху вниз, и первый подходящий catch будет выполнен.

🚩Как работает `catch`?

1. Исключение проверяется по порядку catch-блоков.
2. Если catch подходит → он выполняется, остальные игнорируются.
3. Специфичные исключения (DivideByZeroException) нужно ставить выше общих (Exception).

🚩Ошибка: общий `catch` выше специфичных

Так делать нельзя!
try
{
int x = 5 / 0; // Ошибка
}
catch (Exception ex) // Ловит все исключения
{
Console.WriteLine("Общая ошибка");
}
catch (DivideByZeroException ex) // Никогда не выполнится!
{
Console.WriteLine("Деление на ноль!");
}


Правильный порядок catch
try
{
int x = 5 / 0;
}
catch (DivideByZeroException ex) // Специфичный `catch` первым
{
Console.WriteLine("Ошибка: деление на ноль!");
}
catch (Exception ex) // Общий `catch` внизу
{
Console.WriteLine("Произошла ошибка!");
}


Ставь 👍 и забирай 📚 Базу знаний
More from @easy_c_sharp
  1. Oct 10, 2026🤔 Что из себя представляет DI в ASP.NET Core? Dependency Injection (внедрение зависимосте…
  2. Oct 10, 2026🤔 Если в двух переменных хранится одинаковое значение, то будут ли они равны? Сравнение з…
  3. Oct 9, 2026Post #2474
  4. Oct 9, 2026🤔 Что такое interlocked? Interlocked — это механизм для безопасного изменения чисел между…
  5. Oct 9, 2026🤔 Что такое сборщик мусора? Сборщик мусора (Garbage Collector, GC) — это форма автоматиче…
  6. Oct 8, 2026🤔 Какая разница между методом clone и CopyTo массивов? - clone() — создает новый массив с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →