title: Nested Try-Catch Block Not Catching Exception
body: <p>My program is attempting to scan through my directory in search of the existence of .cmp or .txt files. </p>
  
  <p>If fileName were to equal "test" and if neither test.cmp nor test.txt files existed, my program would still throw a FileNotFoundException despite my try-catch block under the first catch. I've tried moving the second try-catch block around, but nothing seems to work – everything I test the code out with a file that doesn't exist still ends up throwing an exception. </p>
  
  <pre class="lang-java prettyprint-override"><code>public int checkFileExistence() {
          BufferedReader br = null;
          int whichFileExists = 0;
  
  
          try {//check to see if a .cmp exists
              br = new BufferedReader(new FileReader(fileName + ".cmp")); 
              whichFileExists = 0;// a .cmp exists
          }
  
          catch (IOException e){ //runs if a .cmp file has not been found
              try {//check to see if a .txt file exists
                  br = new BufferedReader(new FileReader(fileName + ".txt"));
                  whichFileExists = 1;//a .txt file exists
              }
              catch (IOException e2) {//if no .txt (and .cmp) file was found  
  
                  e2.printStackTrace();
                  whichFileExists = 2; //no file exists
  
              }
  
          }
  
          finally {   
  
              try {
                  br.close();
              } 
  
              catch (IOException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
          }
  
  
          return whichFileExists;
      }
  
  
  </code></pre>
  
  <p>I would expect the program to work, but each time I test the program,  the program throws a FileNotFoundException where it says "test.txt" doesn't exist.</p>