Sobes.tech
Junior

Какво е конструкцията try-catch в C#?

sobes.tech AI

Отговор от AI

Структурата try-catch в C# се използва за обработка на изключения. Блокът try съдържа код, който потенциално може да предизвика изключение. Ако възникне изключение, изпълнението преминава към блока catch, където може да бъде уловено и обработено.

try
{
    // Код, който може да предизвика изключение
    int result = 10 / int.Parse("0"); // Ще предизвика DivideByZeroException
}
catch (DivideByZeroException ex)
{
    // Обработка на специфичното изключение DivideByZeroException
    Console.WriteLine("Грешка при деление на нула: " + ex.Message);
}
catch (FormatException ex)
{
    // Обработка на специфичното изключение FormatException
    Console.WriteLine("Грешка във формата: " + ex.Message);
}
catch (Exception ex)
{
    // Обработка на всяко друго изключение
    Console.WriteLine("Обща грешка: " + ex.Message);
}
finally
{
    // Този блок винаги се изпълнява, независимо дали е имало изключение или не.
    // Използва се за освобождаване на ресурси.
    Console.WriteLine("Блокът finally е изпълнен.");
}
  • Блокът try: съдържа код, при който може да възникне изключение.
  • Блокът catch: улавя изключението. Може да има няколко блока catch за различни типове изключения. Блокът catch (Exception ex) улавя всички типове изключения.
  • Блокът finally: е опционален и винаги се изпълнява, независимо дали е било хвърлено или уловено изключение. Често се използва за освобождаване на ресурси, като файлови дескриптори или мрежови връзки.

Използването на try-catch позволява елегантно управление на неочаквани грешки, предотвратявайки срив на програмата и предоставяйки на потребителя по-информативно съобщение за грешка.