[ Nedeljko @ 15.12.2004. 01:15 ] @
Šta se dešava u C# programu kada neka od naredbi iz finally bloka ispali izuzetak?
[ havramm @ 15.12.2004. 07:09 ] @
Izvrsavanje se prekida i prenosi se na sledeci nivo. Probaj sam...
Code:
namespace Snippets
{
    public class Program
    {
        public static void Main()
        {
            try
            {
                try
                {
                    Console.WriteLine("Line1 try");
                    throw new Exception("Exception from try...");
                    Console.WriteLine("Line2 try");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                finally
                {
                    Console.WriteLine("Line1 finally");
                    throw new Exception("Exception from finally...");
                    Console.WriteLine("Line2 finally");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }
}
[ Nedeljko @ 15.12.2004. 19:24 ] @
Znači, ipak nije tačno da se svaka naredba iz finally blika obavezno izvršava, bez obzira na ispaljivanje izuzetaka.
[ Dragi Tata @ 15.12.2004. 19:42 ] @
Bez obzira na ispaljivanje izuzetaka u odgovarajućem try bloku.

Uzgred, Nedeljko, skoro uvek kad sam pomislio da mi treba finally, ispostavilo se da je bolje rešenje using.