Try It Yourself: exceptions

Assume the method buggy has the following method prototype:

public void buggy() throws IOException, EOFException,
                           FileNotFoundException
Let the methods fctn1 and fctn2 be defined as follows:
public void fctn1() {
      System.out.println("Begin fctn1");                    // A
      try {
      System.out.println("Before fctn2");                   // B
            fctn2();                                        // C
            System.out.println( "After fctn2");             // D
      }
      catch (IOException e) {
            System.out.println("IOException");              // E
      }
      System.out.println("End fctn1");                      // F
}

public void fctn2() throws IOException {
      System.out.println("Begin fctn2");                    // G
      try {
            System.out.println("Before buggy");             // H
            buggy();                                        // I
            System.out.println( "After buggy" );            // J
      }
      catch (FileNotFoundException e) {
            System.out.println("FileNotFoundException");    // K
      }
      catch (EOFException e) {
            System.out.println("EOFException");             // L
      }
      finally {
            System.out.println("Finally");                  // M
      }
      System.out.println("End fctn2");                      // N
}
What statements (in order) will be executed when fctn1 is called if buggy throws:
  1. No exceptions
  2. IOException
  3. EOFException
  4. FileNotFoundException
  5. NumberFormatException