黑马程序员技术交流社区

标题: 异常中的throw与throws [打印本页]

作者: 刘永昌    时间: 2011-11-4 08:38
标题: 异常中的throw与throws
throw抛出异常类,throws声明异常,除了这区别外还有么?
作者: 吉许    时间: 2011-11-4 08:59
throws使用在函数上,throw使用在函数内.
throws后面跟异常类.可以跟多个,用逗号隔开.
throw后跟的是异常对象.
作者: 齐国峰    时间: 2011-11-4 09:00
throw就是单个语句抛出异常!
throw是抛一个!
throws是抛多个!
作者: 范龙彬    时间: 2011-11-4 09:00
throws    这是毕老师结咱总结的结论
要是还不明白的话,可以看看这个事例.http://laies.iteye.com/blog/157075
作者: 范龙彬    时间: 2011-11-4 09:01

作者: 吉许    时间: 2011-11-4 09:03
在补充一点,throws可以单独使用来抛出异常.
而throw要么try来配套使用,要么和throw一起配套使用
作者: 白倩    时间: 2011-11-4 09:29
自己总结了一下,希望能对你有帮助!

throw与throws的区别:

区别一:throw是语句抛出一个异常,throws是方法抛出一个异常

区别二:throws可又单独使用,但throw不能

区别三:throw要么和try-catch-finally语句配套使用,要么与throws配套使用
        但throws可又单独使用,然后再由处理异常的方法捕获。

区别四:throws出现在方法头,而throw出现在函数体

区别五:throws表示出现异常的一种可能,并不一定会发生这些异常,throw则
        是抛出了异常执行throw则一定抛出了某种异常。
作者: 杨玉揆    时间: 2011-11-4 09:40
     1. throws出现在方法函数头,可以单独使用;而throw出现在函数体,不可以单独使用,throw要么和try-catch-finally语句配套使用,要么与throws配套使用。

     2.throws主要是声明这个方法会抛出这种类型的异常,使其他地方调用它时知道要捕获这个异常。 throw是具体向外抛异常的动作,所以它是抛出一个异常实例。

     3. throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常;

     4. 程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。
作者: 刘永昌    时间: 2011-11-4 09:42
范龙彬 发表于 2011-11-4 09:00
throws    这是毕老师结咱总结的结论
要是还不明白的话,可以看看这个事例.http://laies.iteye.com/blog/157 ...

:)看到了
作者: 喻尚健    时间: 2011-11-4 10:46
throws声明抛出异常的思路是:当前方法不知道应该如何处理这种类型的异常,该异常应该由上一级调用者处理,如果main方法也不知道该如何处理这种类型的异常,也可以使用throws声明抛出异常,该异常将交给JVM处理。JVM对异常的处理方法是:打印异常跟踪栈信息,并中止程序运行。
java允许程序自行抛出异常,自行抛出异常使用throw语句完成,系统无法抛出那些根据业务需求来决定的异常,这时候可以使用throw语句。throw语句抛出的不是异常类,而是一个异常实例,而且每次只能抛出一个异常实例。
作者: 史晓霞    时间: 2011-11-4 21:28
throw在类的内部,抛出new 一个异常类,throws是声名类中出现的异常,可以有多个异常,之间用" ,"隔开,调用该类的类要处理声名的异常
作者: 董浩    时间: 2011-11-5 11:56
throws是你用在方法后面的如method() throws Exception而throw是你用在方法体里面的如 method() throws Exception{
throw new Exception("Error");
}
作者: 。_Smileヾ淡莣    时间: 2012-5-24 21:08
答得不错{:soso_e113:}
作者: 杨伟斌    时间: 2012-12-4 08:58
学习了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2