Throwable Classes

Throwable
+ Throwable()
+ Throwable(String)
+ getMessage() : String
+ printStackTrace()
Error
Exception
VirtualMachineError
RuntimeException
IOException
StackOverflowError
ClassCastException
NullPointerException
SocketException
FileNotFoundException

Exceptions fall into three categories:

Errors Very Serious Problems VM prints stack and dies
RuntimeExceptions Avoidable Exceptions Not required to catch
Other Exceptions Normal Exceptions Must declare and catch