java throw提示_Java面试题throw和throws的区别,你能回答清楚吗?

34921fb2975c5a93d9d59caaefbee1b4.png

异常是程序开发中经常会出现的情况,java语言把异常当作对象来处理。

在开发中要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。所以当程序出现了异常需要进行处理,可以使用try-catch来捕获处理。

但如果程序中出现了异常,我们想把异常抛出去,怎么处理呢?

java语言给我们提供了throw和throws这两个关键字来处理。这两个关键字很像,它们之间有什么区别呢?这也是在面试中经常问到一个问题,接下来我们来总结一下。

50d7f0aa5ee66f97037c68bb3c038c53.png

共同点

两者在抛出异常时,他们只管把异常抛出,并不处理异常,由调用者负责处理。

区别

(1)throw语句总是出现在方法体里面,用来抛出一个异常,表示在这个地方就有一个异常出现,程序会在throw后面立即终止,它后面的语句将执行不到。

而throws是出现在方法名的后面,用来把方法中出现的异常抛出去给调用者处理。

当方法中出现了异常自己不想处理,那么可以使用throws在方法名后面将异常抛出去给调用者处理。

(2)throw只能抛出一个异常对象。

而throws可以在方法名后面一次性抛出多个异常,多个异常对象以逗号分隔。

(3)throw抛出异常时,调用它的方法时可以不声明或不捕获,虽编译器不会报错,但是从开发角度说还是要使用try-catch来处理这个异常。

而throws抛出异常时,调用它的方法时也要声明抛出异常或者进行try-catch捕获,否则编译会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值