Checked vs UnChecked Exception

Checked Exception UnChecked Exception
These are exceptions which occur during compile time of program. These are exceptions which occur during runtime of program.
The compiler checks at the compile time that whether the program contains handlers for checked exception or not. These exception can not be anticipated and recovered like programming bugs,such as logic error or improper use of an API.
These exception extend the java.lang.Exception class These exception extend the java.lang.RuntimeException class is inherited from java.lang.Exception class
e.g:- if you call readLine()method on BufferedReader object then the IOExcetion may occur.
However if you do not provide the name of existing file then constructor throws the FileNotFoundException.
These type of Exceptions that are usually caused by errors,like arithmetic overflow,divide by zero etc.