Continued from my previous message 1.The top class is "Throwable".
2. It has two subclasses "Error" and "Exception".
3. "Error" deals with internal errors.
4. "Exception" has one important subclass "RunTimeException".
5. Many of the exceptions that are thrown because of programming errors throws "RunTimeException" (as the name itself indicates).
6. RunTimeExceptions are also known as unchecked exceptions. Ofcourse Exceptions of type "Throwable" and "Exception" are also unchecked.
7. All the functions that you get for an exception object are written in class "Throwable" (w.r.t
java 1.4)
8. Its children has only the constructors defined for it.(w.r.t java 1.4)
Hope this little bit theory helps you.
Raghu
Sham