Java知多少(52)内置异常

本文详细介绍了Java中的异常处理机制,包括未检查异常和受检查异常。列举了多种常见的异常类型,如ArithmeticException、ArrayIndexOutOfBoundsException等,并解释了每种异常的触发条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在标准包java.lang中,Java定义了若干个异常类。前面的例子曾用到其中一些。这些异常一般是标准类RuntimeException的子类。因为java.lang实际上被所有的Java程序引入,多数从RuntimeException派生的异常都自动可用。而且,它们不需要被包含在任何方法的throws列表中。Java语言中,这被叫做未经检查的异常(unchecked exceptions )。因为编译器不检查它来看一个方法是否处理或抛出了这些异常。 java.lang中定义的未经检查的异常列于表10-1。表10-2列出了由 java.lang定义的必须在方法的throws列表中包括的异常,如果这些方法能产生其中的某个异常但是不能自己处理它。这些叫做受检查的异常(checked exceptions)。Java定义了几种与不同类库相关的其他的异常类型。

表 10-1 Java 的 java.lang 中定义的未检查异常子类
异常说明
ArithmeticException算术错误,如被0除
ArrayIndexOutOfBoundsException数组下标出界
ArrayStoreException数组元素赋值类型不兼容
ClassCastException非法强制转换类型
IllegalArgumentException调用方法的参数非法
IllegalMonitorStateException非法监控操作,如等待一个未锁定线程
IllegalStateException环境或应用状态不正确
IllegalThreadStateException请求操作与当前线程状态不兼容
IndexOutOfBoundsException某些类型索引越界
NullPointerException非法使用空引用
NumberFormatException字符串到数字格式非法转换
SecurityException试图违反安全性
StringIndexOutOfBounds试图在字符串边界之外索引
UnsupportedOperationException遇到不支持的操作

 

 

表 10-2  java.lang 中定义的检查异常
异常意义
ClassNotFoundException找不到类
CloneNotSupportedException试图克隆一个不能实现Cloneable接口的对象
IllegalAccessException对一个类的访问被拒绝
InstantiationException试图创建一个抽象类或者抽象接口的对象
InterruptedException一个线程被另一个线程中断
NoSuchFieldException请求的字段不存在
NoSuchMethodException请求的方法不存在

系列文章:

转载于:https://www.cnblogs.com/Coda/p/4477906.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值