title: try-catch statement not returning to try block when catching exception
body: <p>I have a method that a wrote. This method just scans for a user entered integer input. If the user enters a character value it will throw an input mismatch exception, which is handled in my Try-Catch statement. The problem is that, if the user inputs anything that is not a number, and then an exception is thrown, I need the method to loop back around to ask the user for input again. To my understanding, a Try catch statement automatically loops back to the Try block if an error is caught. Is this not correct? Please advise.</p>
  
  <p>Here is my method (it's pretty simple):</p>
  
  <pre><code>public static int getMask() {
          //Prompt user to enter integer mask
          Scanner keyboard = new Scanner(System.in);
          int output = 0;
          try{
              System.out.print("Enter the encryption mask: ");
              output = keyboard.nextInt();
          }
          catch(Exception e){
              System.out.println("Please enter a number, mask must be numeric");
          }
          return output;
      }//end of getMask method
  </code></pre>
  
  <p>Here is how the method is implemented into my program:</p>
  
  <pre><code>//get integer mask from user input
          int mask = getMask();
          System.out.println("TEMP mask Value is: " + mask);
  </code></pre>
  
  <p>/<strong><em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>*</strong>/
  Here is my updated code. It creates an infinate loop that I can't escape. I don't understand why I am struggling with this so much. Please help.</p>
  
  <pre><code>public static int getMask() {
      //Prompt user to enter integer mask
      Scanner keyboard = new Scanner(System.in);
      int output = 0;
      boolean validInput = true;
  
      do{
      try {
          System.out.print("Enter the encryption mask: ");
          output = keyboard.nextInt();
          validInput = true;
      }
      catch(InputMismatchException e){
          System.out.println("Please enter a number, mask must be numeric");
          validInput = false;
          }
      }while(!(validInput));
  
      return output;
  </code></pre>
  
  <p>/<strong><em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>****</strong>/FINAL_ANSWER
  I was able to get it finally. I think I just need to study boolean logic more. Sometimes it makes my head spin. Implementing the loop with an integer test worked fine. My own user error I suppose. Here is my final code working correctly with better exception handling. Let me know in the comments if you have any criticisms.</p>
  
  <pre><code>//get integer mask from user input
          int repeat = 1;
          int mask = 0;
          do{
              try{
  
          mask = getMask();
          repeat = 1;
              }
              catch(InputMismatchException e){
                  repeat = 0;
              }
          }while(repeat==0);
  </code></pre>