go to previous page   go to home page   go to next page        


Yes. (Because the string "34.56" can't be converted into an int).

Types of Exception

Here are two of the rules about how try/catch blocks work:

  1. The first catch{} block to match the type of Exception thrown gets control.

  2. The most specific Exception types should appear first in the structure, followed by the more general Exception types.

To make full sense of these rules you need to know more about Exception types. Here is a hierarchy diagram of Exception:

An ArithmeticException is thrown for some types of arithmetic problems, such as when a division by zero is attempted. (However, not all arithmetic problems cause an ArithmeticException.)

In arranging the try{} blocks, a child class should appear before any of its ancestors. If class A is not an ancestor or descendant of class B, then it doesn't matter which appears first.


Should ArithmeticException appear before RunTimeException in the list of catch statements?