Java supports a hierarchical model of exceptions which allow and indeed require user to supply suitable handlers for any exception that can occur in a Java program
|
Note exceptions that can occur in a method must either be caught (i.e. handled inside method) or thrown (i.e. returned to callee)
|
Thrown exceptions are like returned arguments and are for instance part of interface to a method
|
Exceptions are all (at some level in hierarchy) subclasses of Throwable class
|
method1 {
-
try {
-
} catch (Exception3 e) {
-
}
|
}
|
method2 throws Exception3 {
|
}
|
method3 throws Exception3 {
-
call dividebyzeroorreadfileorsomething;
|
}
|