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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王新新 中级黑马   /  2013-5-23 11:32  /  2392 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王新新 于 2013-5-23 12:07 编辑

看视频的时候,总是一个少写s,一个多写s,经常分不清楚
throw和throws的区别是什么,能具体的解释下吗

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1

查看全部评分

9 个回复

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

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

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 赞一个!

查看全部评分

回复 使用道具 举报
这个视频有讲到 多看视频啦
回复 使用道具 举报
throws关键字通常被应用在声明方法时,用来指定可能抛出的异常。多个异常可以使用逗号隔开。当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象。
throw关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,它后面的语句都不执行。通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法声明中指明要跑出的异常;如果要捕捉throw抛出的异常,则必须使用try—catch语句。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1

查看全部评分

回复 使用道具 举报
throws 作用在函数上,抛出异常类
throw 作用在函数内部,抛出异常对象

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
楼主尽量把题目写的详细一点,不要问这些能查到的问题。
回复 使用道具 举报
仔细一看就知道了:  public Test() throws RepletException {    try {      System.out.println("Test this Project!")    }    catch (Exception e) {      throw new Exception(e.toString());    }  }throws是用来声明一个方法可能抛出的所有异常信息throw则是指抛出的一个具体的异常类型。通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息。throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法;throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛出
回复 使用道具 举报
Sword 金牌黑马 2013-5-23 15:26:35
8#
1.throw语句用在方法体内,表示抛出异常,由方法体内的语句处理   
  throws语句用在方法声明后面,表示再抛出异常,由调用这个方法的上一级方法中的语句来处理
2.
1)throws出现在方法函数头;而throw出现在函数体;   
  2)throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常;   
  3)两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。
回复 使用道具 举报
throw是抛异常。
throws是声明异常。通常定义在方法上
回复 使用道具 举报
thorws是在函数上,thorw是在函数内。举个例子
public void method()throws Exception
{
         int a,b;
         int x = a/b;
                  throw Exception;

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马