上海Java培训
达内上海中山公园中心

13691148991

热门课程

Java常用异常类及使用场景

  • 时间:2017-11-16
  • 发布:上海java培训
  • 来源:企业面试题

俗话说瘦死的骆驼比马大Java正是那个无数次被宣判死刑,却屡屡成为最受欢迎稳居排行榜的编程语言。深得民心的java语言程序员使用的过程中经常遇到一些异常类,正确使用异常在实际编码中非常重要。这些异常很难通过代码或语言考察出,上海达内Java培训总结了常用异常类及使用场景,一起来熟悉吧。

Java异常类分类

Java中,所有异常都继承自Throwable类。整体上分为Error、Exception两个大类。

其中Exception分为UncheckedException(继承于RuntimeException)和CheckedException(继承于Exception,但不继承于RuntimeException)。

常用异常还是有点多,下面分别讲解上述三个类别的使用场景,并在每个类别中选一个例子进行讲解。

Error异常类的使用场景

Error通常描述了系统级的错误,并且程序猿无法主动处理——当然,系统级错误也有可能由代码间接导致-上海Java培训班。发生系统级错误的时候,系统环境已经不健康了,因此,Error不强制捕获或声明,也就是不强制处理,一般情况下只需要把异常信息记录下来。

OutOfMemoryError

当可用内存不足时,会由JVM抛出OutOfMemoryError。上海Java培训班给大家讲讲导致的三种原因:

· 堆设置过小,不满足正常的内存需求

· 代码中存在内存泄露,占用了大量内存而不能被回收

· 选择的GC算法与某些极端的应用场景不匹配,内存碎片过多,没有足够大的连续空间分配给对象

JVM抛出OutOfMemoryError前,会尝试进行一次Full GC,如果GC后可用内存还是不足,才会抛出OutOfMemoryError。因此,这时程序员无法主动处理这一问题,只能等程序崩溃后再去查证原因。

至于查证OutOfMemoryError的技巧,可以到上海java培训班在线试听课程咨询老师(内容太多,小编不做过多解释)。

UncheckedException

其实Error也可以被划归UncheckedException。我们更习惯用UncheckedException描述运行期发生,通常由于代码问题直接引起的程序相关的错误,并且程序员无法主动处理。上海Java培训机构讲师重点提醒:注意区分,系统级错误都应该用Error描述。UncheckedException发生的大部分情况是代码错误。UncheckedException不强制处理,一般情况下记下日志即可。

NullPointerException

上海Java培训举例:NullPointerException,这是常见的UncheckedException。如果在一个空指针上引用方法或变量等,则运行期会抛出NullPointerException。空指针让程序变的不可控:如果任由空指针在程序运行期随意传递、使用,将无法确定程序的行为,也无法确定捕获NullPointerException时程序所处的状态。

上海达内java讲师给出解决方法:

通用于大部分UncheckedException,可以:1,尽早检查并主动抛出异常。2,单独、提前处理边界条件。

在优先保证代码简洁清晰情况下:尽量不使用null表示状态,特别是在集合中。

CheckedException

CheckedException描述了外部环境导致的不太严重的错误,程序员应该主动处理。注意与系统级错误区分,系统级错误通常是不可恢复的。因此,CheckedException强制捕获或声明,程序猿必须处理。记录日志,包装后再次抛出,在方法签名中声明,是三种最常见的做法。

同UncheckedException一样,CheckedException也要保证可控。且可控性要求更高,不仅要主动检查,还要在捕获到异常时,作出合适的处理。

IOException

产生IOException的原因非常多,程序员可以以IOException为粒度处理;某些需要关心细节的异常情况,则应使用IOException的子类,以分情况处理。

在java异常类及其使用场景中,还有很多实例上海达内小编就不一一举例了,有兴趣的朋友可以扫描下方二维码加入学习。

学习使我们处于不败之地,IT学习更能让我们适应互联网+大数据时代的高速发展,上海达内带你一同走进魔都的高薪阶层,做更有价值的事。【上海Java培训机构】

上一篇:没有上一篇了
下一篇:没有下一篇了
选择城市和中心
贵州省

广西省

海南省