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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王训印 中级黑马   /  2015-7-22 23:35  /  603 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

仔细一看就知道了:
  public Test() throws RepletException {
    try {
      System.out.println("Test this Project!")
    }
    catch (Exception e) {
      throw new Exception(e.toString());
    }
  }

throws是用来声明一个方法可能抛出的所有异常信息(throws后面多了s,说明抛出的是多个异常信息,这样方便记忆)
throw则是指抛出的一个具体的异常类型。
通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息。
throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法;
throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛

8 个回复

倒序浏览
throws使用在函数上,throw使用在函数内。
throws后面跟的异常类,可以跟多个,用逗号隔开,
throw后跟的是异常对象
回复 使用道具 举报
这个我面试的时候问到了
回复 使用道具 举报
好,谢谢分享
回复 使用道具 举报
throw和throws的区别:1.位置上的不同:throws用在函数上,后面跟异常类,可以跟多个;throw用在函数内,后面跟具体的异常对象;
*    2.功能上的不同:throws用于声明异常。让调用者知道该功能可能出现的问题,并让调用者给出预先的处理方式;throw用于抛出具体的问题对象。
*      执行到throw功能就已经结束了,跳转到调用者,并将具体的问题对象也抛给调用者,所以调用者必须给出具体的处理方式。
回复 使用道具 举报
郁金香大公爵 发表于 2015-7-23 11:04
throw和throws的区别:1.位置上的不同:throws用在函数上,后面跟异常类,可以跟多个;throw用在函数内,后 ...

谢谢 很给力
回复 使用道具 举报
王文辉 发表于 2015-7-23 09:50
这个我面试的时候问到了

你面试过来吧 上海这边的吗
回复 使用道具 举报
王训印 发表于 2015-7-23 13:11
你面试过来吧 上海这边的吗

面试还没过,过几天再面一次,在北京
回复 使用道具 举报
不客气,大家都是学习的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马