课时122:RuntimeException

简介: 课时122介绍了RuntimeException的相关知识。主要内容包括两种类的继承结构,分析了Throws的作用以及RuntimeException与Exception的区别。RuntimeException是Exception的子类,标注的异常可以不强制处理,而Exception必须强制处理。常见的RuntimeException有NumberFormatException、ClassCastException和NullPointerException等。通过示例代码展示了这些异常在实际编程中的应用。

课时122:RuntimeException

摘要:

1.两种类的继承结构

2.解释 RuntimeException 与 Exception 的区别?

 

01.两种类的继承结构

 

Throws 作用分析


通过之前的分析可以发现方法后面带有 Throws 的往往都是告诉用户本方法可能产生异常,观察一段代码。定义一个 JavaDemo 类,目的是将字符串类型的数据转换为整型,然后输出该结果。

代码:

public class JavaDemo{
public static void main(string args[]) {
int num = Integer.parseInt(“123”) ;
System.out.println (num);
}
}

进行编译,查看结果,程序正常运行。

image.png

点击 Integer 类中的 ParseInt()方法的定义,public static int parseInt(String s) throws NumberFormatException 可以发现该方法明确的抛出了异常,但是在处理的时候并没有强制性要求处理。

代码:

class MyMath { //这个代码执行的时候可能会产生异常,如果产生异常调用处理
public static int div(int x int y) throws ArithmeticException {
// 如果在这写的是算数异常
return x/y;
}
}
public class JavaDemo{
public static void main(string args[]) 2018/3/22 { //代码可以不强制性处理
System.out.println (MyMath.div(10,0));
}
}

编译程序结果:没有强制性处理

image.png

有些方法使用 Throws 之后可以不使用强制处理,这就是RuntimeException 的作用。观察 NumberFormatException 类的继承结构,同时也观察数学异常类的继承结构。

 

02.两种类的继承结构

 

异常子类


image.png

image.png

如果所有的程序执行上只要使用了 Throws 定义的方法,都必须要求开发者进行手工处理,这样一来代码的编写就太麻烦了。所以在设计的过程之中考虑到代码编写的方便,提供了一个灵活的可选的异常处理父类,即“RuntimeException”,这个类异常的子类可以不需要强制性处理。

 

03.解释RuntimeException与Exception区别?

 

面试题

(1) RuntimeException是Exception的子类;

(2) RuntimeException标注的异常可以不需要进行强制性处理,但是Exception异常必须进行强制性处理;

(3) 常见的RuntimeException异常有:NumberFormatException、ClassCastException,NullPointerException等等。

 

相关文章
|
存储 算法 安全
JAVA 八股文全网最详尽整理包含各类核心考点助你高效学习 jAVA 八股文赶紧收藏
本文整理了Java核心技术内容,涵盖Java基础、多线程、JVM、集合框架等八股文知识点,包含面向对象特性、线程创建与通信、运行时数据区、垃圾回收算法及常用集合类对比,附有代码示例与学习资料下载链接,适合Java开发者系统学习与面试准备。
1853 0
|
编解码 安全 Android开发
如何修复 Android 和 Windows 不支持视频编解码器的问题?
视频播放时遇到“编解码器不支持”错误(如0xc00d36c4或0xc00d5212)是常见问题,即使文件格式为MP4或MKV。编解码器是编码和解码数据的工具,不同设备和版本支持不同的编解码器。解决方法包括:1) 安装所需编解码器,如K-Lite Codec Pack;2) 使用自带编解码器的第三方播放器,如VLC、KMPlayer等。这些方法能帮助你顺利播放视频。
|
机器学习/深度学习 数据可视化 算法
YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
2680 7
YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
|
SQL 存储 关系型数据库
简单聊聊MySQL的三大日志(Redo Log、Binlog和Undo Log)各有什么区别
在MySQL数据库管理中,理解Redo Log(重做日志)、Binlog(二进制日志)和Undo Log(回滚日志)至关重要。Redo Log确保数据持久性和崩溃恢复;Binlog用于主从复制和数据恢复,记录逻辑操作;Undo Log支持事务的原子性和隔离性,实现回滚与MVCC。三者协同工作,保障事务ACID特性。文章还详细解析了日志写入流程及可能的异常情况,帮助深入理解数据库日志机制。
2024 0
|
Kubernetes 监控 Perl
在k8S中,自动扩容机制是什么?
在k8S中,自动扩容机制是什么?
|
存储 缓存 关系型数据库
MySQL8 中文参考(二)(3)
MySQL8 中文参考(二)
463 1
|
数据安全/隐私保护 Python
Python中的MD5加密“解密”
Python中的MD5加密“解密”
746 0
|
分布式计算 Hadoop 大数据
大数据技术:Hadoop与Spark的对比
【6月更文挑战第15天】**Hadoop与Spark对比摘要** Hadoop是分布式系统基础架构,擅长处理大规模批处理任务,依赖HDFS和MapReduce,具有高可靠性和生态多样性。Spark是快速数据处理引擎,侧重内存计算,提供多语言接口,支持机器学习和流处理,处理速度远超Hadoop,适合实时分析和交互式查询。两者在资源占用和生态系统上有差异,适用于不同应用场景。选择时需依据具体需求。
|
存储 安全 数据安全/隐私保护
Base64编码的优缺点
Base64 是一种常用于将二进制数据编码为 ASCII 字符串的编码方法。下面是 Base64 编码的一些优点和缺点: ### 优点: 1. **可读性**:Base64 编码后的数据是纯文本形式的,这使得它可以轻松地在各种文本传输协议和环境中传输,而不会被误解或破坏。 2. **平台无关性**:Base64 编码是基于 ASCII 字符集的,这使得它在几乎所有的操作系统和编程语言中都是可用的。 3. **数据完整性**:Base64 可以确保数据的完整性,因为它是基于 ASCII 字符进行传输的,不会受到二进制数据在不同系统中解释方式的影响。 4. **简单易用**:许多编程语言
903 0
|
Linux 编译器 C语言
start.S详解学习(四):设置堆栈 sp 指针
start.S详解学习(四):设置堆栈 sp 指针
917 0

热门文章

最新文章