difference between checked and unchecked exception code example

Example 1: how to know if certain exception is checked or unchecked

1) Look at the hierarchy, if that exception extends RuntimeException then 
it is an UNCHECKED exception
if that exception extends Exception, Throwable or 
any other Checked Exception, then it is CHECKED exception.
2) Throw it, if it compiles, it is an UNCHECKED exception, 
if not it is a CHECKED exception.
throw new SomeException();

Example 2: What are checked Exceptions

1) All the subclasses of Throwable class except error,Runtime Exception and 
its subclasses are checked exceptions.
2) Checked exception should be thrown with keyword throws or should be provided 
try catch block, else the program would not compile. We do get compilation 
error.
Examples :
1) IOException,
2) SQlException,
3) FileNotFoundException,
4) InvocationTargetException,
5) CloneNotSupportedException
6) ClassNotFoundException
7) InstantiationException

Example 3: Unchecked exception

All subclasses of RuntimeException are called unchecked exceptions. 
These are unchecked exceptions because compiler does not checks if a method 
handles or throws exceptions. Program compiles even if we do not catch the 
exception or throws the exception. If an exception occurs in the program,
program terminates. It is difficult to handle these exceptions
because there may be many places causing exceptions.
Example : 
1) Arithmetic Exception
2) ArrayIndexOutOfBoundsException
3) ClassCastException
4) IndexOutOfBoundException
5) NullPointerException
6) NumberFormatException
7) StringIndexOutOfBounds
8) UnsupportedOperationException

Example 4: Can we use catch statement for checked exceptions

If there is no chance of raising an exception in our code then we can’t 
declare catch block for handling checked exceptions. This raises compile time 
error if we try to handle checked exceptions when there is no possibility 
of causing exception.

Tags:

Misc Example