之前对java异常做了一个简单的介绍,下面的话就要对异常类型继续做详细的介绍,一起通过下面的文章内容来了解一下吧。
为了可以及时有效地处理程序中的运行错误,Java专门引入了异常类。
在Java当中,所有异常类型都是内置类java.lang.Throwable类的子类。
也就是Throwable位于异常类层次结构的顶层。
Throwable类下面有两个异常分支Exception和Error。
如下所示(异常结构图):
Throwable类是所有异常和错误的超类,下面有Error和Exception两个子类分别表示错误和异常。
在这当中,异常类Exception又分成运行时异常和非运行时异常,这两种异常有比较大的区别,也被叫做是不检查异常(Unchecked Exception)和检查异常(Checked Exception)。
Exception类:用于用户程序可能出现的异常情况,它也是用来创建自定义异常类型类的类。
Error:定义了在通常环境下不希望被程序捕获的异常,通常指的是JVM错误,例如堆栈溢出。
Exception类型的异常处理:
运行时异常都是RuntimeException类及其子类异常。
例如:
NullPointerException、IndexOutOfBoundsException等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。
这些异常通常都是由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常的发生。
非运行时异常是指RuntimeException以外的异常,类型上都属于 Exception 类及其子类。
从程序语法角度讲是必须进行处理的异常,假如,不处理,程序就不能编译通过。
例如:IOException、ClassNotFoundException等以及用户自定义的 Exception异常(通常情况下不自定义检查异常)。
下面分别的列出了java.lang当中定义的运行时异常和非运行时异常的类型及作用。
Java中常见运行时异常:
Java常见非运行时异常:
关于异常类型的内容就给你介绍到这里了,更多相关常见问题,请继续关注奇Q工具网来进行了解吧!希望上面的文章可以对你有所帮助。
推荐阅读: