`Exception` is the only one worth catching. The other (direct) sub class of `Throwable` is error, and generally if you get one of those then there is nothing you can do e.g. what use is catching an `OutOfMemoryError`

see http://docs.oracle.com/javase/6/docs/api/java/lang/Error.html