Kategoria: C# Dodane przez marcin90

Do czego służy klauzula finally?

1 odpowiedź

2 0 Dodane 10-06-2018 przez marcin90
Klauzula finally używana jest wraz z klauzulą try{} catch{}. W bloku finally zawarte są instrukcje, które wykonają się niezależnie od tego czy wystąpił wyjątek.

Wykorzystywane jest to np. w trakcie odczytu danych z bazy danych.
Warto pamiętać o tym, że gdy w bloku catch{} znajduje się wiele instrukcji to podczas ich wykonywania ponownie może dojść do rzucenia wyjątku i jeśli nie został użyta klauzula finally połączenia do bazy danych zostanie otwarte.
W przypadku gdy użyjemy klauzuli finally, połączenie do bazy zostanie zamknięte niezależnie od tego czy wyjątek wystąpił czy też nie.
SqlConnection cnn = new SqlConnection("Connectionstring");
try
{
   cnn.Open();
   //do database operation          
}
catch (Exception ex
{
   //catch exception, write log to file etc...
}
 finally
{
   cnn.Close();
}

Dodaj swoją wersję odpowiedzi

Dodajesz odpowiedź jako gość. Zaloguj się się by uzyskać dostęp do rankingu oraz powiadomień.