using System; class ExceptionDemo{ public static void Main(){ int[] table = new int[6]{10,11,12,13,14,15}; int idx = 6; M(table, idx); } public static void M(int[] table, int idx){ Console.WriteLine("M(table,{0})", idx); N(table,idx); } public static void N(int[] table, int idx){ Console.WriteLine("N(table,{0})", idx); try{ P(table,idx); } catch (IndexOutOfRangeException e){ // Will not/can no handle here. Raise new exception. throw new IndexOutOfRangeException("Index out of range"); } } public static void P(int[] table, int idx){ Console.WriteLine("P(table,{0})", idx); Console.WriteLine("Accessing element {0}: {1}", idx, table[idx]); } }