上届世界杯_世界杯韩国 - cngkpt.com

RuntimeException,常见的五个运行时异常介绍

首先,先介绍一下Java 异常的分类

首先,所有异常的父类都是Throwable,

往下分,分为Error和Exception,

Error为会使程序崩溃的严重错误,如栈溢出或内存不足

Exception为可以捕获的异常,又可分为编译时异常和运行时异常两种。

接下来,我们介绍一下以下五个常见的运行时异常

1)NullPointerException空指针异常

1.举例说明

运行后,抛出NullPointerException,如图

2.常见原因:

调用null对象的方法

访问或修改null对象的字段

获取null数组的长度

访问或修改null数组的槽位

抛出null作为Throwable值

预防措施:

在使用对象前进行null检查

使用Optional类来明确处理可能为null的情况

合理设计API,避免返回null

使用Objects.requireNonNull()进行参数验证

2)ArithmeticException数学运算异常

1.举例说明

运行后,抛出抛出ArithmeticException,如图

2.常见原因:

整数除以零

其他不合法的算术运算(如取模运算的除数为零)

预防措施:

在进行除法运算前检查除数是否为零

对于浮点数运算,除以零不会抛出异常(会得到Infinity或NaN)

使用BigDecimal进行精确计算

3)ArrayIndexOutOfBoundsException数组下标越界异常

1.举例说明

运行后,抛出ArrayIndexOutOfBoundsException,如图

2.常见原因:

使用负数索引访问数组

使用大于等于数组长度的索引

循环条件错误导致索引超出范围

预防措施:

始终检查数组索引是否在有效范围内

使用增强for循环(for-each)可以避免索引问题

在处理数组时仔细检查循环条件

考虑使用集合类(如ArrayList)代替原始数组

4)ClassCastException类型转换异常

1.举例说明

运行后,抛出ClassCastException,如图

2.常见原因:

错误的类型转换假设

在使用泛型集合时未进行类型检查

在多态情况下错误判断对象类型

预防措施:

在进行强制转换前使用instanceof进行检查

合理设计类层次结构,减少不必要的类型转换

使用泛型来提供编译时类型安全

5)NumberFormatException数字格式不正确异常[]

1.举例说明

运行后,抛出抛出NumberFormatException,如图

2.常见原因:

字符串包含非数字字符

字符串为空或null

数字格式与预期不符(如小数点、正负号位置错误)

预防措施:

在转换前验证字符串格式

使用正则表达式检查数字格式

使用try-catch块处理可能的异常

对于用户输入,提供明确的格式提示和验证

---------------------结束------------------

求点赞~!

求评论·~~~!

求收藏~~~~~!