码迷,mamicode.com
首页 > 其他好文 > 详细

浅谈异常处理

时间:2018-11-28 20:36:39      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:pointer   java异常   控制台   virtual   class   体验   不一致   浅谈   try   

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时出现的异常。
优点:可以解决已知的异常,给用户更好的体验。
缺点:代码量大,影响效率。

浅谈异常处理

标签:pointer   java异常   控制台   virtual   class   体验   不一致   浅谈   try   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!