专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java面试题throw和throws的区别,你能说清楚吗?

temp10 2024-12-27 16:59:50 java教程 13 ℃ 0 评论

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

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

Java面试题throw和throws的区别,你能说清楚吗?

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

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

共同点

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

区别

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

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

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

去给调用者处理。

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

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

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

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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表