Exceptions which are detected by Java Compiler at compile time is called Checked Exceptions.These are exceptional conditions that a well-written application should anticipate and recover from. Example : suppose an application prompts a user for an input file name, then opens the file by passing the name to the constructor for java.io.FileReader. - Normally, the user provides the name of an existing, readable file, so the construction of the FileReader object succeeds, and the execution of the application proceeds normally. But sometimes the user supplies the name of a nonexistent file, and the constructor throws java.io.FileNotFoundException. A well-written program will catch this Exception and notify the user of the mistake, possibly prompting for a corrected file name. - All Exceptions are Checked Exceptions, except for those indicated by Error, RuntimeException, and their subclasses.