(参考:http://czj4451.iteye.com/blog/1851825)
在Java语言中,Throwable为异常的基类,Error和Exception 继承于Throwable,RuntimeException和IOException等继承Exception。
Error类描述了Java运行系统中的内部错误以及资源耗尽的情形,应用程序不应该抛出这种类型的对象(一般是由Java虚拟机抛出)。如果出现这种错误,除了尽力使程序安全退出外,在其他方面是无能为力的。
RuntimeExcption类描述了错误的类型转换,数组越界访问和试图访问空指针等情形。
Error和RuntimeException及其子类属于uncheckedexception类型, 而其他异常为checkedexception类型。
checkedexception:这种在编译时被强制检查的异常称为"受检查的异常"。即在方法的声明中声明的异常。
特点如下:
1 代表程序不能直接控制的无效外界情况(如用户输入,数据库问题,网络异常,文件丢失等)。
2 除了Error和RuntimeException及其子类之外,如:ClassNotFoundException,NamingException, ServletException, SQLException, IOException等。
3 需要在代码中添加t