(参考: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 需要在代码中添加try… catch…处理或throws声明抛出异常。
uncheckedexception:在方法的声明中没有声明,但在方法的运行过程中发生的各种异常

这篇博客探讨了Java中的异常处理,重点讲解了Throwable的子类Error和RuntimeException。Error通常表示Java运行系统的内部错误,由虚拟机抛出,程序员无法避免。RuntimeException则涵盖了类型转换错误和空指针等问题,属于不检查异常,不会在编译时强制检查。博客还区分了checked异常和unchecked异常,前者在编译时必须处理,后者如Error和RuntimeException在运行时发生,且不需强制处理。
订阅专栏 解锁全文
2180

被折叠的 条评论
为什么被折叠?



