title: is there any Exception in Java that to detect no input?
body: <p>What Exception do I need to add to my try catch block if I want to detect if a user has entered any characters?</p>
  
  <p>This is my code where I want to know if the user hasn't input anything or if the user's input was already saved in an <code>addressbook</code>. I am using an array to store my entries:</p>
  
  <pre><code>public void addEntry() {
      entry[counter] = new AddressBookEntry();
      entry[counter].setName(JOptionPane.showInputDialog("Enter name: "));
      entry[counter].setAdd(JOptionPane.showInputDialog("Enter add: "));
      entry[counter].setPhoneNo(JOptionPane.showInputDialog("Enter Phone No.: "));
      entry[counter].setEmail(JOptionPane.showInputDialog("Enter E-mail: "));
      counter++;
  }
  </code></pre>
  
  <p>Do I need a try-catch or a condition? Here's my complete code:</p>
  
  <pre><code>public class AddressBook {
  
  private AddressBookEntry entry[];
  private int counter;
  private String SName;
  private int notfound = 0;
  
  public static void main(String[] args) {
      AddressBook a = new AddressBook();
      a.entry = new AddressBookEntry[100];
      int option = 0;
      try {
          while (option != 5) {
              String content = "Choose an Option\n\n"
                      + "[1] Add an Entry\n"
                      + "[2] Delete an Entry\n"
                      + "[3] Update an Entry\n"
                      + "[4] View all Entries\n"
                      + "[5] View Specific Entry\n"
                      + "[6] Exit";
              option = Integer.parseInt(JOptionPane.showInputDialog(content));
              switch (option) {
                  case 1:
                      a.addEntry();
                      break;
                  case 2:
                      a.deleteEntry();
                      break;
                  case 3:
                      a.editEntry();
                      break;
                  case 4:
                      a.viewAll();
                      break;
                  case 5:
                      a.searchEntry();
                      break;
                  case 6:
                      System.exit(1);
                      break;
                  default:
                      JOptionPane.showMessageDialog(null, "Invalid Choice!");
              }
          }
      }catch(NumberFormatException e){
          JOptionPane.showMessageDialog(null, "Please Choose a Number in the displayed Menu");
      }
  }
  
  public void addEntry() {
      entry[counter] = new AddressBookEntry();
      entry[counter].setName(JOptionPane.showInputDialog("Enter name: "));
      entry[counter].setAdd(JOptionPane.showInputDialog("Enter add: "));
      entry[counter].setPhoneNo(JOptionPane.showInputDialog("Enter Phone No.: "));
      entry[counter].setEmail(JOptionPane.showInputDialog("Enter E-mail: "));
      counter++;
  }
  
  public void viewAll() {
      String addText = "  NAME\tADDRESS\tPHONE NO.\tE-MAIL ADD\n\n";
      int nonNull = 0;
      for (int i = 0; i &lt; entry.length; i++) {
          if (entry[i] != null) {
              addText = addText + entry[i].getInfo() + "\n";
              nonNull++;
          }
          if (nonNull == counter) {
              break;
          }
      }
      JOptionPane.showMessageDialog(null, new JTextArea(addText));
  }
  
  public void searchEntry() {
      SName = JOptionPane.showInputDialog("Enter Name to find: ");
      searchMethod();
  }
  
  public void searchMethod() {
      for (int i = 0; i &lt; counter; i++) {
          if (entry[i].getName().equals(SName)) {
              JOptionPane.showMessageDialog(null, entry[i].getInfo2());
              notfound = 0;
              break;
          } else {
              notfound++;
          }
      }
      if (notfound != 0) {
          JOptionPane.showMessageDialog(null, "Name Not Found!");
      }
  }
  
  public void editEntry() {
      SName = JOptionPane.showInputDialog("Enter Name to edit: ");
      for (int i = 0; i &lt; counter; i++) {
          if (entry[i].getName().equals(SName)) {
              entry[i] = new AddressBookEntry();
              entry[i].setName(JOptionPane.showInputDialog("Enter new name: "));
              entry[i].setAdd(JOptionPane.showInputDialog("Enter new add: "));
              entry[i].setPhoneNo(JOptionPane.showInputDialog("Enter new Phone No.: "));
              entry[i].setEmail(JOptionPane.showInputDialog("Enter new E-mail: "));
              notfound = 0;
              break;
          } else {
              notfound++;
          }
      }
      if (notfound != 0) {
          JOptionPane.showMessageDialog(null, "Name Not Found!");
      }
  }
  
  public void deleteEntry() {
      SName = JOptionPane.showInputDialog("Enter Name to delete: ");
      for (int i = 0; i &lt; counter; i++) {
          if (entry[i].getName().equals(SName)) {
              JOptionPane.showMessageDialog(null, "Found!");
              entry[i] = null;
              break;
          }
      }
  }
  </code></pre>
  
  <p>}</p>
  
  <p>I am having problem with my <code>addEntry()</code> method, because I want to detect if the user's new added entry was already stored in my addressbook and if the user doesn't typed anything when I ask "Enter Name:" in JOptionPane and still press OK.</p>