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ówcatchdla różnych typów wyjątków. Blokcatch (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.