使用throws 与使用throw抛出异常有什么区别
5个回答
2014-01-01
展开全部
有很明显的区别。首先,是使用的位置,throws 只能跟在方法名和括号的后面,而 throw 只能出现在方法体内。其次,throws 是一个声明(它声明这里可能出现异常,但未必一定出现),而 throw 是一个动作(它抛出也可以说它产生一个异常出现,只要执行到了这个关键字,异常必定出现)。你可能 throws 用的比较熟悉,throw 还不太知道怎么用。我再说具体一点的。当你使用 throw 抛出(产生)一个异常的时候,如果方法用 throws 抛弃(抛开,这里不理了)异常,那么这个异常将被抛到了调用这个方法的地方去。如果这个方法没有用 throws 抛弃异常,那么就需要使用 try...catch 来捕捉异常了。相信你能明白这里所谓的“产生”跟“抛弃”的区别了。产生,就是异常出现的地方。抛弃,就是让异常通过这里去到别的地方,是异常经过的地方。如果你还不明白 throw 具体有什么用,我再举一个简单的例子。例如你做一个程序,需要输入月份的,如果输入了 13 ,那就是无效数据,那这时候你有两种处理方式,第一种就是使用判断语句判断,然后提示;第二种就是抛出一个异常,让上层调用的方法去处理这个输入错误。如果你不明白这种做法的好处,那没关系,以后程序做多了你就会发现的,现在至起码你知道了它有这种用法。
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
2017-07-17 · 知道合伙人互联网行家
关注
展开全部
有很明显的区别。首先,是使用的位置,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来调用异常处理类来处理。
并且直接由些方法调用异常处理类来处理该异常,
所以它常用在方法的后面。比如
public static void main(String[] args) throws SQLException
2.throw 用于方法块里面的代码,比throws的层次要低,比如try...catch ....语句块,表示它抛出异常,
但它不会处理它,
而是由方法块的throws Exception来调用异常处理类来处理。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
throws只是在方法上的声明,表示函数可能会抛出改异常
throw是抛出实际的异常,如果在try的代码块中使用可能会抛出异常的函数,catch捕获后想要再次抛出给上层方法体,则需要再方法体上再次声明。
1.用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。
throw是语句抛出一个异常。
throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)
2.throws关键字是声明在方法体上的,表示该方法可能会抛出某种类型的异常(但并非一定抛出)
throw是抛出实际的异常,如果在try的代码块中使用可能会抛出异常的函数,catch捕获后想要再次抛出给上层方法体,则需要再方法体上再次声明。
1.用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。
throw是语句抛出一个异常。
throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)
2.throws关键字是声明在方法体上的,表示该方法可能会抛出某种类型的异常(但并非一定抛出)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-01
展开全部
throws是用于声明会抛出的异常。如public void fun() throws IOException{}throw是用于抛出异常,如throw new RuntimeException();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询