Java异常层次结构

一、什么是Java异常?

Java异常就是代码编译和运行中出现的一些特殊情况,通过异常我们可以查找出异常的代码进行修复。

二、Java的异常层次结构图:

image.png

Java异常分为Error和Exception两大类,都继承自Throwable类,其中Error是编译和系统错误,不允许捕获;Exception表示标准java库激发的异常;Exception又分IOException和RuntimeException两类。

三、检查异常和非检查异常

检查异常(checked exceptions)和非检查的异常(unchecked exceptions)。
其中根据Exception异常进行划分,可分为运行时异常和非运行时异常。
检查异常:
what:编译器要求强制去检查的异常,必须由人工去处理
how:添加try catch/ throws 异常
where:除了Error和RuntimeException及其子类,都属于检查异常
比如:IOException,文件操作的时候编译器强制进行异常处理
非检查异常:
what:编译器不要求强制处置的异常,及时有可能运行时抛异常,但仍可以通过编译
why:因为有些异常在编译期无法捕捉到,比如0做被除数、或数组越界等
where:运行时异常RuntimeException及其子类,以及Error类
how:1、捕获 2、不处理 3、抛出
运行时异常:
RuntimeException及其子类都属于运行时异常,比如NullPointException、IndexOutOfBoundsException都属于运行时异常
非运行时异常:
除RuntimeException及其子类和Error类外,其他都属于非运行时异常,在编码及编译阶段就应该处理的异常,比如IOException、EOFException等

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。