A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 那过往de小时光 中级黑马   /  2015-9-18 15:47  /  809 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

大神在哪呀

13 个回复

倒序浏览
一个是单数一个是复数,一个在方法内一个在方法外
回复 使用道具 举报
一个是具体的异常,一个抛出的是集合。
回复 使用道具 举报
throws是用来声明一个方法可能抛出的所有异常信息,而throw则是指抛出的一个具体的异常类型。此外throws是将异常声明但是不处理,而是将异常往上抛,谁调用我就交给谁处理。

点评

谢谢  发表于 2015-9-18 17:44
回复 使用道具 举报
throw是语句抛出一个异常。 语法:throw (异常对象);         
回复 使用道具 举报
可以参考我的帖子throw和throws的区别
http://bbs.itheima.com/thread-239780-1-1.html
(出处: 黑马程序员IT技术论坛)
回复 使用道具 举报
throw和throws区别:
先说说throws,throws是用来申明异常类型的,如果我在一个方法后面用throws申明了有可能发生的异常类型,那么当谁调用这个方法时要么用try{}catch{}捕捉,要么在那谁后面继续用throws申明抛,如果一直这么用throws抛一直抛到主方法main()后面那么就由虚拟机jvm处理这个异常了如果虚拟机也无法识别这个异常那么整个程序终止,所以一般不建议这么一直抛下去.

throw,这个关键字是主动抛异常,用法是throw new xxx(异常类),一般自己定义的异常类用throw抛,也可以直接抛系统定义好的异常类,抛的时候方法后面要加throws申明抛出的异常类型,然后调用者要么用try{}catch{}捕捉,要么用throws申明继续抛。

throws就是配合throw用的,系统里很多异常例如IOException 等等 都是在文件流类里面使用了throw抛出自己定义的异常类,当你使用文件流时要么就用try{ }catch{}捕捉要么就用throws申明继续往上抛.  没有throw主动抛异常,throws变的毫无意义.    当提示会出现异常信息时不建议用throws直接抛,建议自己用try{}catch{}捕捉并处理异常
回复 使用道具 举报
Wqi 高级黑马 2015-9-18 19:45:09
8#
throw抛的是异常对象,throws抛的是异常类~~~带s抛的多~~
回复 使用道具 举报
7楼回答的很好,赞一个
回复 使用道具 举报
还没学到这里哦
回复 使用道具 举报
throw在方法内,一次拋一个,throws在方法的“)”后面跟着,一次可以抛多个出来
回复 使用道具 举报
throws用于方法的声明上,其后跟的是异常类名,后面可以跟多个异常类,之间用逗号隔开
throw用于方法中,其后跟的是异常类对象
回复 使用道具 举报
throw用在方法体中 throws用于方法声明上面
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马