I have this method in a class called `PersonalContact`.

```
public void validate(String name, int age, String address, String city, String state, String zip){

     //If the name field is the empty string or null, then throw a NullPointerException.
    if (name.equals(null)){
        throw new NullPointerException();
    }
    //If the age field is not between 1-100, then throw an IllegalStateException
    if (age < 1 || age > 100){
        throw new IllegalStateException();
    }
    //If the address or city field is the empty string or null, then throw a NullPointerException.
        if(address.equals(null) || city.equals(null)){
            throw new NullPointerException();
        }
    //If the state field is not exactly 2 characters, then throw an IllegalStateException
        if (state.length() != 2){
            throw new IllegalStateException();
        }
    //If the zip code field is not exactly 5 numeric characters, then throw an IllegalStateException
        if (zip.length() != 5){
            throw new IllegalStateException();
        }

    }

@Override
public void validate(String name, int age ) {

}

```

I am trying to call the method in a driver program:

```java
import java.util.Scanner;

public class PlannerMain {
 static Scanner scanner = new Scanner(System.in);

 public static void main(String[] args) {

   while (true) {

    System.out.println("Create new contact?");
    System.out.println("1.Personal contact ");
    System.out.println("2.Business Contact ");
    System.out.println("3.Exit.");

    int option = scanner.nextInt();
    boolean pcLoop = true;

    if (option == 1) { // Create Personal Contact

     do {
      try {
       validate();

       System.out.println("Name?(No spaces)");
       String name = scanner.next();

       System.out.println("Age?");
       int age = scanner.nextInt();

       System.out.println("Address?(No Spaces)");
       String address = scanner.next();

       System.out.println("City?");
       String city = scanner.next();

       System.out.println("State?");
       String state = scanner.next();

       System.out.println("Zip");
       String zip = scanner.next();

       PersonalContact pc = new PersonalContact(name, age, address, city, state, zip);
       System.out.println(pc.toString()); // Prints out the
       // contact info
       pcLoop = false; // Ends the loop and goes back to the
       // menu
      } catch (Exception age) {
       System.out.println("Please enter name without spaces.");
      }

     } while (pcLoop); // Ends option 1

    } // End option 1
    else if (option == 2) { // Create Business Contact

     System.out.println("Name?(No spaces)");
     String name = scanner.next();

     System.out.println("Age?");
     int age = scanner.nextInt();

     System.out.println("Business Phone?");
     String businessPhone = scanner.next();

     System.out.println("Cellphone?");
     String cellPhone = scanner.next();

     BusinessContact bc = new BusinessContact(name, age, businessPhone, cellPhone);

     System.out.println(bc.toString());

    } // End option 2
    else if (option == 3) { /** Terminates the program */
     System.exit(0);
    } // End option 3
   } // End while

  } // End void main
} // End

```

I want the method to work with the try-catch block to catch inappropriate user input for the various fields in my PersonalContact. I want to do the same for my BusinessContact. I know I am supposed to call the method in the try block but I don't see why it's not calling it from the `PersonalContact` class and I don't understand how the exceptions will be handled with that method.