Exceptions
throw / catch
- can throw any class that implements Throwable interface
- Exception implements Throwable interface
- usually object thrown is newly created, and
- contains information used for error handling, recovery
- object thrown is "caught" by catch clause
throws clause
- uncaught exception can be passed to caller via declaration in the throws clause of method
- subclasses of RuntimeException are implicit
- not required in throws clause
- catch clause not required
- other exceptions must be caught or specified