首页 > 其他 > 详细

浅谈异常处理

时间:2018-11-28 20:02:52      阅读:159      评论:0      收藏:0      [点我收藏+]

1、异常的概念

Java异常类层次结构图: 

技术分享图片

Throwable:有俩个重要的子类:Error(错误)和Exception(异常),两者都是Java处理异常的重要子类,各自都包含了大量的子类。
Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,Java虚拟机运行错误(Virtual MachineError),当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。
Exception(异常):程序本身能够处理的异常。
Exception可以分为:checked exceptions和unchecked exceptions:

1、unchecked exceptions(运行时异常)都是RuntimeException类及其子类异常,就是我们在开发中测试功能时程序终止,控制台出现的异常,比如:
NullPointerException(空指针异常)
IndexOutOfBoundsException(下标越界异常)
ClassCastException(类转换异常)
ArrayStoreException(数据存储异常,操作数组时类型不一致)
IO操作的BufferOverflowException异常
优点:减少代码量,提高效率。
缺点:会给用户带来不好的体验。

2、 checked exceptions,非运行时异常(编译异常):
是RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如IOException、SQLException等以及用户自定义的Exception异常,一般情况下不自定义检查异常。
通俗的话说就是在写代码时出现红线,需要try catch或者throws时出现的异常。
优点:可以解决已知的异常,给用户更好的体验。
缺点:代码量大,影响效率。

浅谈异常处理

原文:https://www.cnblogs.com/Qi1007/p/10034076.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!