-> Extend Exception for checked exceptions (must be declared in method signatures). -> Extend RuntimeException for unchecked exceptions (optional handling, usually due to programmer error). -> NumberFormatException is a subclass of IllegalArgumentException and is thrown when a string does not match the expected numerical format. -> IllegalArgumentException is for bad method arguments