[ Nedeljko @ 15.12.2004. 01:15 ] @
Šta se dešava u C# programu kada neka od naredbi iz finally bloka ispali izuzetak? |
[ Nedeljko @ 15.12.2004. 01:15 ] @
[ 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. Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|