SkillsTest.pl C# pytania i zadania rekrutacyjne Do czego służy klauzula finally?

: 2017-09-18 | Nr 10 z 51

Pytanie

Do czego służy klauzula finally? C#

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

Polecamy

Na co możesz wydać swoje 15k?

Zabawki dla dwulatka