What are Exceptions?
Exception is the way
to indicate an abnormal error that occurred in the called method.
Exception Handling:
- When an error occurs within a method, the method creates an exception object and hands it off to the runtime system. The Exception object holds the information on the error, its type and state of the program when the error occurred. Creating an exception object and handing it to the runtime system is called throwing an exception.
- After a method throws an exception, the runtime system attempts to find a block of code (Exception Handler) to handle it. The block to handle is searched in the call stack.The exception handler chosen is said to catch the exception.
- If the runtime system searches all the methods on the call stack and doesn’t find an appropriate exception handler, the program terminates.
Exception Handling:
A block of code that
can catch and handle the exception.
Mostly has the try.. Catch.. Finally block In the call stack
when an exception is thrown,the
appropriate handler for the exception will be searched towards bottom of the stack
Types of Exceptions:
There are 2 major category of Exception classes. Checked and Unchecked Exceptions. Below is the high level hierarchy of exception classes
Differences between Checked and unchecked Exceptions
Unchecked Exceptions
|
Checked Exceptions
|
|
Type
|
Runtime Exceptions
|
Compile time
exceptions
|
extends
|
Subclasses of
Error and RuntimeException
|
Subclasses of
Throwable and Exception other than RuntimeException
|
throws
|
Donot need throws
|
Need appropriate
throws
|
Exception handling
|
Do not mandate try
catch
|
Mandate try catch
somewhere in the call stack
|
Example
|
OutofMemoryError, NullPointerException
|
ClassNotFoundException
|
Exception Hierarchy:
java.lang package hosts the exception classes in java. As seen above, the 2 types of Throwable Error and Exception Hierarchy is shown in the below snapshot
Conclusion:
More basic details on Exceptions, handling and java.lang classes are covered in this post. More advanced information about creating Exceptions, handling exceptions with examples, Best practices will be covered in the next post.
No comments:
Post a Comment