Well, you now understand how to put try blocks together with catch blocks and finally blocks in your methods. You may be thinking at this point that it seems a lot of trouble to go to just to display a message when an exception is thrown. You may be right, but whether you can do very much more depends on the nature and context of the problem. In many situations a message may be the best you can do, although you can produce messages that are a bit more informative than those you've used so far in our examples. For one thing, I have totally ignored the exception object that is passed to the catch block.
The exception object that is passed to a catch block can provide additional information about the nature of the problem that originated it. To understand more about this, let's first look at the members of the base class for exceptions Throwable because these will be inherited by all exception classes and are therefore contained in every exception object that is thrown.
The Throwable class is the class from which all Java exception classes are derived—that is, every exception object will contain the methods defined in this class. The Throwable class has two constructors: a default constructor and a constructor that accepts an argument of type String. The String object that is passed to the constructor is used to provide a description of the nature of the problem causing the exception. Both constructors are public.
Objects of type ...