using System;
public class Program
{
public static void Main()
try
Console.WriteLine("OUTER TRY:");
DoIt();
}
catch( Exception ex)
Console.WriteLine("OUTER CATCH: CAUGHT:" + ex.Message);
// swallow
/*finally
Console.WriteLine("outer finally");
}*/
static void DoIt()
Console.WriteLine("DoIt(): INNER TRY -> CAUSES EXCEPTION...");
int i = 0;
Console.WriteLine(12 / i); // oops
catch (Exception e)
Console.WriteLine("DoIt(): INNER CATCH => CATCHES & RETHROWS EXCEPTION:" + e.Message);
e = new Exception("[EXCEPTION COMING FROM: DoIt(): INTERNAL]");
throw e; //RETHROWS e or "throw", or "throw anything"
finally
Console.WriteLine("DoIt(): INNER FINALLY");