Exceptions are objects that extend Throwable. Checked exceptions must be caught or declared; unchecked ones (RuntimeException and Error) need not be.
1Rules
finally runs whether or not an exception occurs (even after return)
Catch more specific exceptions before general ones
try-with-resources closes AutoCloseable resources automatically