黑马程序员技术交流社区

标题: throws与throw区别 [打印本页]

作者: 王训印    时间: 2015-7-22 23:35
标题: throws与throw区别
仔细一看就知道了:
  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则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛
作者: 王训印    时间: 2015-7-23 00:21
throws使用在函数上,throw使用在函数内。
throws后面跟的异常类,可以跟多个,用逗号隔开,
throw后跟的是异常对象
作者: 王文辉    时间: 2015-7-23 09:50
这个我面试的时候问到了
作者: 以梦为码    时间: 2015-7-23 10:03
好,谢谢分享
作者: 郁金香大公爵    时间: 2015-7-23 11:04
throw和throws的区别:1.位置上的不同:throws用在函数上,后面跟异常类,可以跟多个;throw用在函数内,后面跟具体的异常对象;
*    2.功能上的不同:throws用于声明异常。让调用者知道该功能可能出现的问题,并让调用者给出预先的处理方式;throw用于抛出具体的问题对象。
*      执行到throw功能就已经结束了,跳转到调用者,并将具体的问题对象也抛给调用者,所以调用者必须给出具体的处理方式。
作者: 王训印    时间: 2015-7-23 13:06
郁金香大公爵 发表于 2015-7-23 11:04
throw和throws的区别:1.位置上的不同:throws用在函数上,后面跟异常类,可以跟多个;throw用在函数内,后 ...

谢谢 很给力
作者: 王训印    时间: 2015-7-23 13:11
王文辉 发表于 2015-7-23 09:50
这个我面试的时候问到了

你面试过来吧 上海这边的吗
作者: 王文辉    时间: 2015-7-23 13:58
王训印 发表于 2015-7-23 13:11
你面试过来吧 上海这边的吗

面试还没过,过几天再面一次,在北京
作者: 郁金香大公爵    时间: 2015-7-23 16:05
不客气,大家都是学习的




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