Development Java Tutorial

All Java exception classes derive from the java.lang.Exception class.
When a method throws multiple exceptions, rather than catch all the exceptions, you can simply
write a catch block that handles java.lang.Exception:

public class MainClass {
  public static void main(String[] args) {
    String input = null;
    try {
      String capitalized = capitalize(input);
      System.out.println(capitalized);
    } catch (Exception e) {
      System.out.println(e.toString());
    }  
  }
  static String capitalize(String s) throws NullPointerException, AlreadyCapitalizedException {
    if (s == null) {
      throw new NullPointerException("Your passed a null argument");
    }
    Character firstChar = s.charAt(0);
    if (Character.isUpperCase(firstChar)) {
      throw new AlreadyCapitalizedException();
    }
    String theRest = s.substring(1);
    return firstChar.toString().toUpperCase() + theRest;
  }
}
class AlreadyCapitalizedException extends Exception {
  public String toString() {
    return "Input has already been capitalized";
  }
}