1、Throwable 类
Error 和 Exception 都继承自 Throwable 类,因此事实上他们都是可以被 try/catch 的。
2、语义上区别
Error 通常代表很严重的错误,程序无法处理的那种,例如 VirtualMachineError 等。
Exception 通常代表程序可以处理的异常,例如 IOException 等。
3、Exception 处理
Exception 中有一类是 RuntimeException,可以不需要显示处理。否则需要显示的通过 try/catch 或者 在方法 throws 声明。