1. Exception is an abnormal condition in the program, if raises program terminates abnormally.
2. Exception always occurs at runtime only, there is no chance of exception at compile time.
3. Syntactical mistakes or errors are occurs at compile time.
4. All Exceptions are the pre-defined class in java.
5. Throwable is the root of all java Exceptions.
a. Checked Exception are Exception that has been checked by the compiler at compile time for the smooth execution of program at runtime. It doesn't mean the Excception has raised at compile time.
1. If there are any checked exception is raised at compile time means compiler concerned about how you will handle that condition at runtime. The Compiler will ask you for alternative code.
2. In case of checked exception compiler tries to know how you will handle the situation, so the alternate code they needed, by knowing this they will compile your code.
Ex-Except RuntimeException and Errors every Exceptions are checked in java.
Case 1.) If you are trying to read some file content through java code, in that case compile always concerned about "if file will not available at runtime then what will you do?". You have to give the alternate code by placing some local file.
FileReader fr=new FileReader("abc.txt");//it will throw Checke Exception
Case 2.) If you are tries to load some class at Runtime, in that case compiler will concerned about "if there is no availability of specified class, they how will you handle that situation".
Class.forName("oracle.jdbc.driver.OracleDriver"); //it will throw Checked Exception
Solution:This situation can be handled either by using
1) Try-catch block,
2) Throws keyword,
Un-Checked Exception:
1. These are the exception about which compiler is not aware.
2. If there are any un-checked exceptions occurs,compiler won't ask for handling code.
3. All Errors and RuntimeException are un-checked by nature.
4. We can handle the situation only by using try-catch block.