public static void Main()
Console.WriteLine("Hello World");
public static void Func1 ()
Console.WriteLine("Caught exception in Func1: " + e);
public static void Func1A ()
public static void Func1B ()
public static void Func1C ()
Console.WriteLine("Throw exception from Func1C without catching");
throw new Exception("Func1C");
public static void Func2 ()
Console.WriteLine("Caught exception in Func2: " + e);
public static void Func2A ()
public static void Func2B ()
public static void Func2C ()
Console.WriteLine("Throw exception from Func2C without catching exception propagation");
throw new Exception("Func2C");