RuntimeException 子类

RuntimeException 子类本文简要介绍RuntimeException及其子类

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

RuntimeException子类

有时候总是会区分不清哪些异常类是RuntimeException的子类,这里特意去源码里面找来整理一下,方便后续查阅,由于RuntimeException在java.lang包下,所以这里也只介绍java.lang包下的RuntimeException子类,通常java.lang包下的异常子类也是遇到比较多的
RuntimeException 子类
下面逐一介绍每个子类发生的场景

ArithmeticException

当出现异常的运算条件时,抛出此异常。例如,一个整数”除以零”时,抛出此类的一个实例。
Thrown when an exceptional arithmetic condition has occurred. For example, an integer “divide by zero” throws an instance of this class.

ArrayIndexOutOfBoundsException

用非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引。
Thrown to indicate that an array has been accessed with an illegal index. The index is either negative or greater than or equal to the size of the array.

ArrayStoreException

试图将错误类型的对象存储到一个对象数组时抛出的异常。
Thrown to indicate that an attempt has been made to store the wrong type of object into an array of objects. For example, the following code generates an
ArrayStoreException:
Object x[] = new String[3];
x[0] = new Integer(0);

ClassCastException

当试图将对象强制转换为不是实例的子类时,抛出该异常。
Thrown to indicate that the code has attempted to cast an object to a subclass of which it is not an instance. For example, the following code generates a
ClassCastException:
Object x = new Integer(0);
System.out.println((String)x);

EnumConstantNotPresentException

Thrown when an application tries to access an enum constant by name and the enum type contains no constant with the specified name.
This exception can be thrown by the {@linkplain java.lang.reflect.AnnotatedElement API used to read annotations reflectively}.

IllegalArgumentException

抛出的异常表明向方法传递了一个不合法或不正确的参数。
Thrown to indicate that a method has been passed an illegal or inappropriate argument.

IllegalMonitorStateException

抛出的异常表明某一线程已经试图等待对象的监视器,或者试图通知其他正在等待对象的监视器而本身没有指定监视器的线程。
Thrown to indicate that a thread has attempted to wait on an object’s monitor or to notify other threads waiting on an object’s monitor without owning the specified monitor.

IllegalStateException

在非法或不适当的时间调用方法时产生的信号。换句话说,即 Java 环境或 Java 应用程序没有处于请求操作所要求的适当状态下。
Signals that a method has been invoked at an illegal or inappropriate time. In other words, the Java environment or Java application is not in an appropriate state for the requested operation.

IllegalThreadStateException

线程没有处于请求操作所要求的适当状态时抛出的异常。
Thrown to indicate that a thread is not in an appropriate state for the requested operation. See, for example, the
suspend and resume methods in class Thread.

IndexOutOfBoundsException

指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。
Thrown to indicate that an index of some sort (such as to an array, to a string, or to a vector) is out of range.

NegativeArraySizeException

如果应用程序试图创建大小为负的数组,则抛出该异常。
Thrown if an application tries to create an array with negative size.

NullPointerException

当应用程序试图在需要对象的地方使用 null 时,抛出该异常
Thrown when an application attempts to use {@code null} in a case where an object is required. These include:
Calling the instance method of a {@code null} object.
Accessing or modifying the field of a {@code null} object.
Taking the length of {@code null} as if it were an array.
Accessing or modifying the slots of {@code null} as if it
were an array.
Throwing {@code null} as if it were a {@code Throwable}
value.
Applications should throw instances of this class to indicate other illegal uses of the {@code null} object.
{@code NullPointerException} objects may be constructed by the virtual machine as if {@linkplain Throwable#Throwable(String, Throwable, boolean, boolean) suppression were disabled and/or the stack trace was not writable}.

NumberFormatException

当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。
Thrown to indicate that the application has attempted to convert a string to one of the numeric types, but that the string does not have the appropriate format.

SecurityException

由安全管理器抛出的异常,指示存在安全侵犯。
Thrown by the security manager to indicate a security violation.

StringIndexOutOfBoundsException

此异常由 String 方法抛出,指示索引或者为负,或者超出字符串的大小。
Thrown by {@code String} methods to indicate that an index is either negative or greater than the size of the string. For some methods such as the charAt method, this exception also is thrown when the index is equal to the size of the string.

TypeNotPresentException

Thrown when an application tries to access a type using a string representing the type’s name, but no definition for the type with the specified name can be found. This exception differs from {@link ClassNotFoundException} in that ClassNotFoundException is a checked exception, whereas this exception is unchecked.
Note that this exception may be used when undefined type variables are accessed as well as when types (e.g., classes, interfaces or annotation types) are loaded.
In particular, this exception can be thrown by the {@linkplain java.lang.reflect.AnnotatedElement API used to read annotations reflectively}.

UnsupportedOperationException

当不支持请求的操作时,抛出该异常。
Thrown to indicate that the requested operation is not supported.

如何通过IDEA查找类及子类源码

我用的是IDEA 2020版本,首先全局搜索你想要查找的父类,比如 RuntimeException
RuntimeException 子类
Ctrl+鼠标左键点击1处的RuntimeException,可以直接RuntimeException类
RuntimeException 子类
点击红框可以看到所有继承RuntimeException的子类,包括我们想要看的java.lang包下的子类
RuntimeException 子类
这个时候点击1处可以看到,
RuntimeException 子类
下滑即可找到我们想要看的java.lang下的RuntimeException的子类,同样的方法也可以去查看Exception的子类,如图
RuntimeException 子类
通过阅读源码可以让我们更深入的理解父类子类关系,在工作中多看多用,知识自然就记忆不忘了。
参考文章:https://developer.aliyun.com/article/981052

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213534.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql时区设置_oracle数据库时区设置

    mysql时区设置_oracle数据库时区设置方法一:通过mysql命令行模式下动态修改1.1查看mysql当前时间,当前时区>selectcurtime(); #或selectnow()也可以+———–+|curtime()|+———–+|15:18:10|+———–+>showvariableslike"%time_zone%";+————–…

    2022年10月23日
    0
  • python进阶(8)多进程[通俗易懂]

    python进阶(8)多进程[通俗易懂]进程前置知识点进程:一个程序运行起来后,代码+用到的资源称之为进程,它是操作系统分配资源的基本单元。并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行

    2022年7月31日
    4
  • lvm 扩容和缩减「建议收藏」

    lvm 扩容和缩减「建议收藏」lvm扩容和缩减1、LVM简介LVM是逻辑卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的逻辑层,来提高磁盘分区管理的灵活性。LVM的工作原理其实很简单,它就是通过将底层的物理磁盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分

    2022年6月20日
    33
  • RTP协议–图文解释

    RTP协议–图文解释一、什么是RTP数据传输协议RTP,用于实时传输数据。RTP报文由两部分组成:报头和有效载荷。二、RTP的会话过程当应用程序建立一个RTP会话时,应用程序将确定一对目的传输地址。目的传输地址由一个网络地址和一对端口组成,有两个端口:一个给RTP包,一个给RTCP包,使得RTP/RTCP数据能够正确发送。RTP数据发向偶数的UDP端口,而对应的控制信号RTCP数据发向相邻的奇数…

    2022年6月28日
    23
  • iOS 和 swift 中常见的 Int、Int8、Int16、Int32和 Int64介绍「建议收藏」

    iOS 和 swift 中常见的 Int、Int8、Int16、Int32和 Int64介绍「建议收藏」经过一天的敲代码,小蜜蜂我已经也是人困马乏了。喂喂喂,蜜蜂,哪来的“马”啊?额。。。比喻!比喻!比喻!懂不懂?那既然这么累了,今天又为什么来写博客了?就像艾青诗人说的那句,为什么我眼里常含泪水?因为我对这土地爱得深沉。。。换成我的话就是,为什么我累了还写着博客?因为我对这代码爱得深沉。。。哈哈哈说完了上面的这些,那今天继续说说我的一点点滴事情,那就是如题目所说的

    2022年8月15日
    4
  • pycharm-2021.3.3激活码破解方法

    pycharm-2021.3.3激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    1.3K

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号