17《重学 JAVA》--JAVA 异常(一)
一、异常介绍
在 JAVA 程序设计中,异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。进行异常处理是非常关键和重要的一部分。一个程序的异常处理框架的好坏直接影响到整个项目的代码质量以及后期维护成本和难度。
二、JAVA 异常的分类
Throwable 为父类,Throwable 派生出 Error 类和 Exception 类。
2.1 Error
Error 用来指示运行时环境发生的错误,例如,JVM 内存溢出。一般地,程序不会从错误中恢复。
例如:
1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据。
2.集合中的对象引用在使用完后未清空,使得 JVM 不能回收。
3.代码中存在死循环或循环产生过多重复的对象。
4.启动参数中内存的设定值过小。
2.2Exception
Exception 主要有两类异常,IOException 类和 RuntimeException 类。
例如:
1.空指针访问。
2.试图读取不存在的文件。
3.网络连接中断。
4.数组角标越界。
2.3 三种类型的异常
1.检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,
程序员无法预见:例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
程序员可以预见:另外我们在 IDEA 编辑器中编码时,IDEA 编辑器会报相关的语法性错误,比如说没有写分号,或者说没有写相关的大括号,小括号。
在此推荐一款 IDEA 编辑器插件:Alibaba Java Coding Guidelines 阿里巴巴 JAVA 代码规范,
对于初级以至于高级这款插件都是百试不爽的。
2. 运行时异常:运行时异常是可能被程序员避免的异常。运行时异常可以在编译时被忽略。
3. 错误:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
2.4 JAVA 异常类层次结构相关:
版权声明: 本文为 InfoQ 作者【杨鹏Geek】的原创文章。
原文链接:【http://xie.infoq.cn/article/b8bcfb89d93d162cf95025c8e】。文章转载请联系作者。
评论