|
- Java Exceptions are hierarchical and inheritance is used to categorize different types of exceptions. Throwable is the parent class of Java Exceptions Hierarchy and it has two child objects – Error and Exception. Exceptions are further divided into checked exceptions and run time exceptions.
-
Errors are exceptional scenarios that are out of scope of application and its not possible to anticipate and recover from them, for example hardware failure, JVM crash or out of memory error.
-
Checked Exceptions are exceptional scenarios that we can anticipate in a program and try to recover from it, for example FileNotFoundException. We should catch this exception and provide useful message to user and log it properly for debugging purpose. Exceptions is the parent class of all Checked Exceptions.
-
Runtime Exceptions are caused by bad programming, for example trying to retrieve an element from the Array. We should check the length of array first before trying to retrieve the element otherwise it might throw ArrayIndexOutofBoundException at runtime. Runtime Exception is the parent class of all runtime exceptions.
|