查看原文
其他

一张图搞清楚Java异常机制

2017-11-15 javastack Java技术栈

下面是Java异常类的组织结构,红色区域的异常类表示是程序需要显示捕捉或者抛出的。


Throwable

Throwable是Java异常的顶级类,所有的异常都继承于这个类。

Error,Exception是异常类的两个大分类。

Error

Error是非程序异常,即程序不能捕获的异常,一般是编译或者系统性的错误,如OutOfMemorry内存溢出异常等。

Exception

Exception是程序异常类,由程序内部产生。Exception又分为运行时异常、非运行时异常。

运行时异常

运行时异常的特点是Java编译器不会检查它,也就是说,当程序中可能出现这类异常,即使没有用try-catch语句捕获它,也没有用throws子句声明抛出它,也会编译通过,运行时异常可处理或者不处理。运行时异常一般常出来定义系统的自定义异常,业务根据自定义异常做出不同的处理。

常见的运行时异常如NullPointException、ArrayIndexOutOfBoundsException等。

非运行时异常

非运行时异常是程序必须进行处理的异常,捕获或者抛出,如果不处理程序就不能编译通过。如常见的IOException、ClassNotFoundException等。


推荐推荐



阿里高级Java面试题(首发,70道,带详细答案)

2017派卧底去阿里、京东、美团、滴滴带回来的面试题及答案

Spring面试题(70道,史上最全)

17张图揭密支付宝系统架构

阿里巴巴,排行前10的开源项目!

2018年必看:关于区块链技术的10本书



  Java技术栈  
微信公众号:「Javastack

分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。
 ▼长按二维码关注我们↓↓↓




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存