private static void DemonstrateCallStacksInCatchBlocks() { Console.Out.WriteLine("ExceptionsAndFiltering.OuterMethod(false)"); try { ExceptionsAndFiltering.OuterMethod(false); } catch (DivideByZeroException e) { e.Print(Console.Out); } Console.Out.WriteLine(); Console.Out.WriteLine("ExceptionsAndFiltering.OuterMethodWithFilter(false)"); try { ExceptionsAndFiltering.OuterMethodWithFilter(false); } catch (DivideByZeroException e) { e.Print(Console.Out); } Console.Out.WriteLine(); Console.Out.WriteLine(); Console.Out.WriteLine("ExceptionsAndFiltering.OuterMethod(true)"); try { ExceptionsAndFiltering.OuterMethod(true); } catch (DivideByZeroException e) { e.Print(Console.Out); } Console.Out.WriteLine(); Console.Out.WriteLine("ExceptionsAndFiltering.OuterMethodWithFilter(true)"); try { ExceptionsAndFiltering.OuterMethodWithFilter(true); } catch (DivideByZeroException e) { e.Print(Console.Out); } }
internal static void OuterMethodWithFilter(bool handle) { ExceptionsAndFiltering.InnerMethodWithFilter(0, handle); }