黑马程序员技术交流社区

标题: throw和throws的区别是什么? [打印本页]

作者: 王新新    时间: 2013-5-23 11:32
标题: throw和throws的区别是什么?
本帖最后由 王新新 于 2013-5-23 12:07 编辑

看视频的时候,总是一个少写s,一个多写s,经常分不清楚
throw和throws的区别是什么,能具体的解释下吗
作者: 武志红    时间: 2013-5-23 11:36
仔细一看就知道了:
  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则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛出。
作者: 武志红    时间: 2013-5-23 11:36
这个视频有讲到 多看视频啦

作者: 金辉    时间: 2013-5-23 11:45
throws关键字通常被应用在声明方法时,用来指定可能抛出的异常。多个异常可以使用逗号隔开。当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象。
throw关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,它后面的语句都不执行。通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法声明中指明要跑出的异常;如果要捕捉throw抛出的异常,则必须使用try—catch语句。
作者: lpflpy    时间: 2013-5-23 11:51
throws 作用在函数上,抛出异常类
throw 作用在函数内部,抛出异常对象
作者: 袁梦希    时间: 2013-5-23 11:55
楼主尽量把题目写的详细一点,不要问这些能查到的问题。
作者: 小石头39910    时间: 2013-5-23 12:00
仔细一看就知道了:  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
1.throw语句用在方法体内,表示抛出异常,由方法体内的语句处理   
  throws语句用在方法声明后面,表示再抛出异常,由调用这个方法的上一级方法中的语句来处理
2.
1)throws出现在方法函数头;而throw出现在函数体;   
  2)throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常;   
  3)两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。
作者: Super_Class    时间: 2013-5-23 16:09
throw是抛异常。
throws是声明异常。通常定义在方法上
作者: 王靖远    时间: 2013-5-23 16:13
thorws是在函数上,thorw是在函数内。举个例子
public void method()throws Exception
{
         int a,b;
         int x = a/b;
                  throw Exception;

}




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