1. Throwable
All Java exceptions are subclasses of Throwable, including two seed classes, error and exception, respectively. The main composition of Throwable, one is errormessage, and the other is that the error is the current thread of the call stack information, there is a throwable may be caused by other exceptions, so also includes caused
2. Error
Error is not required by try catch, it is some virtual machine errors, such as insufficient memory
3. Exception
Exceptions in the program, exception in addition to RuntimeException do not need a try catch, the other must be added try catch, whether with a try catch is also called to be checked. RuntimeException is a run-time exception, and it is generally not possible to determine whether an exception will occur, such as NullPointerException is a run-time exception, which typically has very large uncertainties at run time.
Java Exception System