For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
Java编程开发语言是目前使用范围和学习人数都非常多的一个编程开发语言,而本文我们就通过案例分析来学习一下,Java编程异常体系结构类型分享。
1、Java的异常体系结构
Java异常体系的根类是Throwable,所以当写在java代码中写throw抛出异常时,后面跟的对象必然是Throwable或其子类的对象。
其中Exception异常是指一些可以恢复的异常,例如常见的NullPointerException空指针异常。
Error指的是一些致命的错误,无法通过程序代码手段恢复的异常,例如OutOfMemoryError内存溢出错误。
2、unchecked异常
除了RuntimeException、Error及其子类都是属于unchecked的异常类型外,其他的都是受编译器checked检查的异常。
unchecked不受编译器检查的异常,是因为这些错误在程序运行过程中是可以通过编程手段去控制住的,
例如常见的NullPointerException空指针异常和IndexOutOfBoundsException数组下标越界的异常,这些都可以事先使用if(xx!=null)以及if(xxx.size()>i)来控制,或者就是完全无法通过程序手段控制,
例如OutOfMemoryError内存溢出异常和StackOverflowError栈溢出异常,这种Error因为无法通过代码层面if就能避免的,所以也属于unchecked。
3、checked异常
checked在编译过程中受到编译器的检查,如果程序没有对该异常做catch处理或者向上一层抛出的话,程序将无法编译通过,常见的checked异常有FileNotFoundException文件不存在异常等,因为这种异常在编写阶段就可以预见,例如这个文件极有可能是不存在的,所以这种异常必须要抛出并要求程序作出处理。
4、总结
Throwable任何异常/错误的祖先类,属于checked异常。
Exception异常,可以从异常中恢复执行的异常,属于checked异常。
RuntimeException异常,预料之外的异常例如空指针、数组越界,属于unchecked异常。
...Exception除了RuntimeException及其子类是unchecked异常,其他的Exception类都是checked异常。
Error错误,致命问题,无法从错误中恢复,也属于unchecked异常。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。