Since this is an exception, the program can handle it (with the right code.)
 try{} and  catch{} To catch an exception:
try{} block.catch{} block.Here is the example program with code added to do this:
import java.util.* ;
public class SquareFix 
{
  public static void main ( String[] a ) throws IOException
  {
    Scanner scan = new Scanner( System.in  );
    int num ;
    System.out.print("Enter an integer: ");
    try
    { 
      num    = scan.nextInt();      
      System.out.println("The square of " + num + " is " + num*num );
    } 
    catch ( InputMismatchException ex )
    { 
      System.out.println("You entered bad data." );
      System.out.println("Run the program again." );
    } 
    System.out.println("Good-by" );
  }
}
If a statement inside the try{} block throws a
InputMismatchException,
the catch{} block immediately starts running.
The remaining statements in the try{} block are skipped.
The reference variable ex refers to 
the Exception object.
(However, this example does nothing with it.)
After  the catch{} block is executed, 
execution continues
with the statement that follows the catch{} block.
Execution does not return to the try{} block. 
What does the program print for each input?
| input 1: | input 2: | 
|---|---|
| Rats | 12 | 
| 
 | 
 |