using System; using exception_orderNamespace; public class runme { static void Main() { A a = new A(); try { a.foo(); throw new Exception("missed exception"); } catch (ApplicationException e) { if (e.Message != "C++ E1 exception thrown") throw new ApplicationException("bad exception order: " + e.Message); } try { a.bar(); throw new Exception("missed exception"); } catch (ApplicationException e) { if (e.Message != "C++ E2 exception thrown") throw new ApplicationException("bad exception order: " + e.Message); } try { a.foobar(); throw new Exception("missed exception"); } catch (ApplicationException e) { if (e.Message != "postcatch unknown") throw new ApplicationException("bad exception order: " + e.Message); } try { a.barfoo(1); throw new Exception("missed exception"); } catch (ApplicationException e) { if (e.Message != "C++ E1 exception thrown") throw new ApplicationException("bad exception order: " + e.Message); } try { a.barfoo(2); throw new Exception("missed exception"); } catch (ApplicationException e) { if (e.Message != "C++ E2 * exception thrown") throw new ApplicationException("bad exception order: " + e.Message); } } }