Java的异常体系
2019-07-18 00:35
134 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42191317/article/details/96390179
异常的作用
在程序运行过程中出现错误,导致程序出现非预期场景。异常处理可以保证出现错误后,控制接下来的程序流程,是选择定位错误
信息,还是抛出异常或捕获异常、还是避免程序非正常退出,都取决于我们。
异常体系的引入增加了程序的健壮性。
异常的体系结构
Java的异常体系结构如上图所示,异常的顶级类是Throwable类,它是Object的子类,实现了Serializable接口,在其下,分为以下两大类:
- Error
- Exception RuntimeException
- Checked Exception
Error和Exception的区别
Error和Exception都继承自Throwable
- Error:程序无法处理的系统错误,编译器不做检查
- Exception:异常,程序可以处理的异常,捕获后可能恢复
- 前者无法处理,而后者可以处理
- Error属于JVM需要承担的责任,RuntimeException是程序应该承担的责任,Checked Exception是编译器应该承担的责任
Exception
Exception又可以分为RuntimeException(运行时异常)和Checked Exception(也叫受检查异常)。
- RuntimeException:不可预知的,程序应当自行避免
- Checked Exception:可预知的,从编译器效验的异常,不进行处理,编译器会报错
常见的Error和Exception
Error
- NoClassDefFoundError:找不到class定义的错误,可能是类依赖的class文件或者jar包不存在
- StackOverflowError:深递归导致栈被耗尽而抛出的错误
- OutOfMemoryError:内存溢出异常
RuntimeException
- NullPointerException:空指针引用异常
- ClassCastException:类型强制转换异常
- IllegalArgumentException:传递非法参数异常
- IndexOutOfBoundsException:数组下标越界异常
- NumberFormatException:数字格式异常
Checked Exception
- IOException:IO操作异常
- SQLException:SQL语句异常
- ClassNotFoundException:找不到指定class异常
相关文章推荐
- Java异常体系结构
- java中从Spring、Hibernate和Struts框架的action、service和dao三层结构异常处理体系设计
- java异常体系及注意事项
- 面试|说说Java中的异常体系
- Java 异常体系
- java异常体系
- Java异常体系
- Java 019 异常的体系、分类、处理(JVM默认、try…catch、throw、自定义异常类)
- java异常体系
- Java的异常体系
- Java异常之异常继承体系和处理方式
- java毕向东听课笔记11(异常体系)
- 黑马程序员-java基础(三)-异常体系
- Java基础<异常机制>总结(异常体系、Exception特点、异常处理方式)
- 黑马程序员——Java基础——异常体系
- Java 异常体系
- Java异常体系结构
- java异常体系____异常处理机制
- Java源码侦探--异常体系解读Throwable
- 黑马程序员—Java基础---异常体系学习总结