Exception 和Error 都是继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出或者捕获,它是异常处理机制的基本类型。
对比Exception和Error
相同点:Exception和Error都是继承了Throwable类,在java中只有Throwable类型的实例才可以被抛出,它是异常处理机制的基本组成部分。
不同点:Exception和Error是java设计者对不同异常情况的分类。Exception是程序正常运行中可以预料并且应该被捕获,进行相应处理。Error是正常情况下不大可能出现的情况,绝大部分Error会导致程序处于非正常状态,不可恢复,也不方便和不需要捕获,常见的比如OutOfMemoryError之类,都是Error的子类。
Exception又分为可检查(checked)和不可检查(unchecked)异常,可检查是在代码里显示的进行捕获处理,不可检查是只有程序运行时才会抛出比如常见的NullPointerException
推荐学习:Java视频教程