使用throws 与使用throw抛出异常有什么区别

 我来答
匿名用户
2014-01-01
展开全部
有很明显的区别。首先,是使用的位置,throws 只能跟在方法名和括号的后面,而 throw 只能出现在方法体内。其次,throws 是一个声明(它声明这里可能出现异常,但未必一定出现),而 throw 是一个动作(它抛出也可以说它产生一个异常出现,只要执行到了这个关键字,异常必定出现)。你可能 throws 用的比较熟悉,throw 还不太知道怎么用。我再说具体一点的。当你使用 throw 抛出(产生)一个异常的时候,如果方法用 throws 抛弃(抛开,这里不理了)异常,那么这个异常将被抛到了调用这个方法的地方去。如果这个方法没有用 throws 抛弃异常,那么就需要使用 try...catch 来捕捉异常了。相信你能明白这里所谓的“产生”跟“抛弃”的区别了。产生,就是异常出现的地方。抛弃,就是让异常通过这里去到别的地方,是异常经过的地方。如果你还不明白 throw 具体有什么用,我再举一个简单的例子。例如你做一个程序,需要输入月份的,如果输入了 13 ,那就是无效数据,那这时候你有两种处理方式,第一种就是使用判断语句判断,然后提示;第二种就是抛出一个异常,让上层调用的方法去处理这个输入错误。如果你不明白这种做法的好处,那没关系,以后程序做多了你就会发现的,现在至起码你知道了它有这种用法。
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
DoramiHe
2017-07-17 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25335 获赞数:59535
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
有很明显的区别。首先,是使用的位置,throws 只能跟在方法名和括号的后面,而 throw 只能出现在方法体内。其次,throws 是一个声明(它声明这里可能出现异常,但未必一定出现),而 throw 是一个动作(它抛出也可以说它产生一个异常出现,只要执行到了这个关键字,异常必定出现)。你可能 throws 用的比较熟悉,throw 还不太知道怎么用。我再说具体一点的。当你使用 throw 抛出(产生)一个异常的时候,如果方法用 throws 抛弃(抛开,这里不理了)异常,那么这个异常将被抛到了调用这个方法的地方去。如果这个方法没有用 throws 抛弃异常,那么就需要使用 try...catch 来捕捉异常了。相信你能明白这里所谓的“产生”跟“抛弃”的区别了。产生,就是异常出现的地方。抛弃,就是让异常通过这里去到别的地方,是异常经过的地方。如果你还不明白 throw 具体有什么用,我再举一个简单的例子。例如你做一个程序,需要输入月份的,如果输入了 13 ,那就是无效数据,那这时候你有两种处理方式,第一种就是使用判断语句判断,然后提示;第二种就是抛出一个异常,让上层调用的方法去处理这个输入错误。如果你不明白这种做法的好处,那没关系,以后程序做多了你就会发现的,现在至起码你知道了它有这种用法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-01
展开全部
1.throws 用于抛出方法层次的异常,
并且直接由些方法调用异常处理类来处理该异常,
所以它常用在方法的后面。比如
public static void main(String[] args) throws SQLException

2.throw 用于方法块里面的代码,比throws的层次要低,比如try...catch ....语句块,表示它抛出异常,
但它不会处理它,
而是由方法块的throws Exception来调用异常处理类来处理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朴质且舒心的小行家B
2021-11-11 · 超过95用户采纳过TA的回答
知道小有建树答主
回答量:763
采纳率:76%
帮助的人:35万
展开全部
throws只是在方法上的声明,表示函数可能会抛出改异常
throw是抛出实际的异常,如果在try的代码块中使用可能会抛出异常的函数,catch捕获后想要再次抛出给上层方法体,则需要再方法体上再次声明。
1.用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。
throw是语句抛出一个异常。
throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)
2.throws关键字是声明在方法体上的,表示该方法可能会抛出某种类型的异常(但并非一定抛出)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-01
展开全部
throws是用于声明会抛出的异常。如public void fun() throws IOException{}throw是用于抛出异常,如throw new RuntimeException();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式