Java Checked 异常和 Runtime异常体系

本文深入探讨Java中的异常处理机制,区分Checked异常与Runtime异常,解释如何使用throws声明抛出异常,以及在方法重写中异常声明的规则。文章强调在大多数情况下推荐使用Runtime异常而非Checked异常。

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

Java 异常分为两大类:Checked 异常和 Runtime 异常(运行时异常)。
在这里插入图片描述
在这里插入图片描述

使用 throws 声明抛出异常

在这里插入图片描述
上面程序声明不处理 IOException 异常,将该异常交给 JVM 处理,所以程序一旦遇到该异常,JVM 就会打印该异常的跟踪栈信息,并结束程序,运行上面程序,得到如下结果:
在这里插入图片描述
在这里插入图片描述
使用 throws 声明抛出异常时有一个限制:子类方法声明抛出的异常类型应该是父类方法声明抛出的异常类型的子类或者相同,子类方法声明抛出的异常不允许比父类方法声明抛出的异常多。
在这里插入图片描述在这里插入图片描述
大部分时候推荐使用 Runtime 异常,而不使用 Checked 异常。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值