Java中的异常都是异常对象,异常类继承自Throwable类,表示可抛出。
Error和Exception是两大子类,表示错误和异常
- Erro指虚拟机内部错误,这类异常仅靠程序本身无法解决,例如OutOfMemoryErro
- Exception指程序运行异常,分为两大类
- RuntimeException 运行时异常,运行过程中出现的异常,无法提前检测,例如数组越界异常、空指针异常。
- 非RuntimeExcecption也称 CheckException,此类异常可以提前检测到,所以需要捕获或者抛出,例如IOexception