using System;
class test {
	static void F() {
		try {
			G();
		} catch (Exception e) {
			Console.WriteLine("Exception in F: " + e.Message);
			e = new Exception("F");
			//throw;		// re-throw
			throw e;	// throw a new exception
		} catch {
			;
		} finally {
			Console.WriteLine("F finally block");
		}
	}
	static void G() {
		throw new Exception("G");
	}
	public static void Main() {
		try {
			F();
		} catch (Exception e) {
			Console.WriteLine("Exception in Main: " + e.Message);
		}
	}
}