Exception与Error都继承于Throwable类。
Exception是指可以预期的或者可捕获的异常。
Error是指不可预期的或者不太可能出现的异常,例如OutOfMemoryError。
Exception又分检查异常(checked)和非检查异常(unchecked)。
检查异常(checked)是编译期检查的一部分,例如:
try {
FileInputStream fis = new FileInputStream(new File("xxx"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
非检查异常(unchecked)是指编译完成,运行期产生的异常。例如:空指针(NLP)异常。
Exception和Error更多是从概念层面对异常的拆分。