public static void Main()
var objDemo = new Demo();
objDemo.runWithException=false;
objDemo.runWithException=true;
objDemo.runWithException=false;
objDemo.runWithException=true;
public bool runWithException { get; set; } = false;
Console.WriteLine("Hello from else");
void Run(Action r) { r(); }
Console.WriteLine("Hello from else");
Console.WriteLine("Hello from foo()");
if (this.runWithException) throw new ApplicationException("TestException");
Console.WriteLine("Hello from recover()");