java异常(Exception),异常类型

KLQ 2020-08-31 10:53:26 java常见问答 5246

之前对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中常见运行时异常

Java常见非运行时异常:

Java常见非运行时异常

关于异常类型的内容就给你介绍到这里了,更多相关常见问题,请继续关注奇Q工具网来进行了解吧!希望上面的文章可以对你有所帮助。

推荐阅读:

java异常(Exception),异常简介

java中怎么捕获异常?Throwable类的方法有哪些?

java怎么用关键字来声明?怎么样自定义异常?