Sobes.tech
Junior

Czym jest konstrukcja try-catch w C#?

sobes.tech AI

Odpowiedź od AI

Budowa try-catch w C# służy do obsługi wyjątków. Blok try zawiera kod, który potencjalnie może wywołać wyjątek. Jeśli wystąpi wyjątek, wykonanie przechodzi do bloku catch, gdzie można przechwycić i obsłużyć wyjątek.

try
{
    // Kod, który może wywołać wyjątek
    int result = 10 / int.Parse("0"); // Spowoduje DivideByZeroException
}
catch (DivideByZeroException ex)
{
    // Obsługa specyficznego wyjątku DivideByZeroException
    Console.WriteLine("Błąd dzielenia przez zero: " + ex.Message);
}
catch (FormatException ex)
{
    // Obsługa specyficznego wyjątku FormatException
    Console.WriteLine("Błąd formatu: " + ex.Message);
}
catch (Exception ex)
{
    // Obsługa każdego innego wyjątku
    Console.WriteLine("Wystąpił ogólny błąd: " + ex.Message);
}
finally
{
    // Ten blok jest zawsze wykonywany, niezależnie od tego, czy wystąpił wyjątek.
    // Używany do zwalniania zasobów.
    Console.WriteLine("Blok finally został wykonany.");
}
  • Blok try: Zawiera kod, w którym może wystąpić wyjątek.
  • Blok catch: Przechwytuje wyjątek. Można mieć wiele bloków catch dla różnych typów wyjątków. Blok catch (Exception ex) przechwytuje wszystkie typy wyjątków.
  • Blok finally: Opcjonalny blok, który zawsze jest wykonywany, niezależnie od tego, czy wyjątek został rzucony czy przechwycony. Często używany do zwalniania zasobów, takich jak deskryptory plików czy połączenia sieciowe.

Użycie try-catch pozwala elegancko obsługiwać nieoczekiwane błędy, zapobiegając awarii programu i dostarczając użytkownikowi bardziej informacyjną wiadomość o błędzie.