In this tutorial post, we will study the concept of Exception Handling in Java and how it works.
The exception handling in java is one of the powerful mechanism to handle the runtime errors so that normal flow of the application can be maintained.
What is an Exception?
An exception is an unwanted or unexpected event, which occurs during the execution of a program i.e at run time, that disrupts the normal flow of the program’s instructions. It is an object which is thrown at runtime.
What is exception handling?
Exception Handling is a mechanism to handle runtime errors such as ClassNotFound, IO, SQL, Remote etc. So it is a way to provide a proper structure when an exception occurs such that the program execution is not affected. Thus the main advantage of exception handling in java is to maintain the normal flow of the application.
Hierarchy of Java Exception classes
All exception and errors types are sub classes of class Throwable, which is base class of hierarchy.One branch is headed by Exception. This class is used for exceptional conditions that user programs should catch. NullPointerException is an example of such an exception.Another branch,Error are used by the Java run-time system(JVM) to indicate errors having to do with the run-time environment itself(JRE). StackOverflowError is an example of such an error.
There are basically 3 types of exceptions/abnormal conditions –
- Checked Exceptions
- Unchecked Exceptions
1) Checked Exception
The classes that extend Throwable class except RuntimeException and Error are known as checked exceptions e.g.IOException, SQLException etc. Checked exceptions are checked at compile-time.
2) Unchecked Exception
The classes that extend RuntimeException are known as unchecked exceptions e.g. ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException etc. Unchecked exceptions are not checked at compile-time rather they are checked at runtime.
Error is irrecoverable e.g. OutOfMemoryError, VirtualMachineError, AssertionError etc.
Some Common Scenarios of Exceptions –
1) Scenario where ArithmeticException occurs
If we divide any number by zero, there occurs an ArithmeticException.
2) Scenario where NullPointerException occurs
If we have null value in any variable, performing any operation by the variable occurs an NullPointerException.
3) Scenario where NumberFormatException occurs
The wrong formatting of any value, may occur NumberFormatException. Suppose I have a string variable that have characters, converting this variable into digit will occur NumberFormatException.
4) Scenario where ArrayIndexOutOfBoundsException occurs
If you are inserting any value in the wrong index, it would result ArrayIndexOutOfBoundsException as shown below:
int a=new int;
Java Exception Handling Keywords –
There are 5 keywords used in java exception handling.