/* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110 */ /* Example13_5.cs illustrates a nested try/catch block; the nested if throws an exception that is propagated to the outer exception */ using System; public class Example13_5 { public static void Main() { try { // a nested try and catch block try { int[] myArray = new int[2]; Console.WriteLine("Attempting to access an invalid array element"); myArray[2] = 1; // throws the exception } catch (DivideByZeroException e) { // code that handles a DivideByZeroException Console.WriteLine("Handling a DivideByZeroException"); Console.WriteLine("Message = " + e.Message); Console.WriteLine("StackTrace = " + e.StackTrace); } } catch (IndexOutOfRangeException e) { // code that handles an IndexOutOfRangeException Console.WriteLine("Handling an IndexOutOfRangeException"); Console.WriteLine("Message = " + e.Message); Console.WriteLine("StackTrace = " + e.StackTrace); } } }