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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

throw和throws有什么不同?分别用在什么地方

7 个回复

倒序浏览
本帖最后由 bullfrog 于 2014-9-2 23:27 编辑

throw new Exception(); //new Exception()这个是构造了一个匿名的Exception对象。这一行可以写在任何代码块里。
想什么时候throw就可以什么时候throw. 只要构建一个throwable的对象就可以把它扔出去。

而throws用在函数声明上。用来表示:这个函数运行时可能会出现的Exception,并且告诉你这个Exception没有被函数的代码处理。
就是说这个东西是提前告诉程序员会出现这样的情况,并等待解决(如果不声明,这个问题就会在代码编写阶段被掩盖起来,直到运行时真正出现Exception时才知道原来有这样的问题。);
如果不声明throws,但函数调用了会throw Exception的其他函数的话,编译是通不过的。
回复 使用道具 举报
一个在函数后声明异常,一个在方法体内抛出异常
回复 使用道具 举报
1.throws使用在函数上  throw使用在函数内
2.throws后跟异常类,可跟多个,用逗号隔开
  throw 后跟异常对象
回复 使用道具 举报
huangxuanheng 来自手机 中级黑马 2014-9-3 12:55:15
报纸
throws定义在方法上,是想说明可能会产生的异常,throw定义在方法块中,用于抛出的异常行为
回复 使用道具 举报
throw 和throws  *         throws定义在函数上,用于抛出异常类,可以抛出多规格,用,隔开  *         throw定义在函数内,用于抛出异常对象
回复 使用道具 举报
本帖最后由 hmyuanqi 于 2014-9-3 13:07 编辑

throws和throw的区别:
throws使用在函数上。
throw使用在函数内。
throws后面跟异常类,可以跟多个,之间用逗号隔开。
throw后面跟的是异常对象。

回复 使用道具 举报
throws:用于标识函数暴露出的异常。thorws用在函数上,后面跟异常类名(可以由多个,隔开)。
throw:用于抛出异常对象。throw用在函数内,后面跟异常对象。new Exception();
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马