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();
}

© 2024 - SkillsTest.pl | | Regulamin | Polityka Prywatnosci