昨天面试,遇到了这样的一个问题,请教一下,两者的区别

解决方案 »

  1.   

    throw是现在就抛出一个异常throws是把异常交给他的上级管理,自己不进行异常处理
      

  2.   

    throw是 具体的抛出异常的try {
       throw new Exception();
    }throws 是在方法声明的时候
      

  3.   

    出现异常的时候,有的是在所在的语句块里处理,有的是抛给上级方法或类进行统一处理,所以要有throw。至于throw和throws,一个是在语句块(主要是catch)中应用,一个是在方法名或类名处声明,具体作用没什么不同
      

  4.   

    throws 写在方法的后面,抛出异常给上级方法或类进行统一处理,即抛给调用他的方法
    throw 写在代码中,也可以抛出自定义异常
    二者之间没有什么不同
      

  5.   

    throws是类,方法声明时候用的,声明该类、方法可能会抛出哪些异常,并表明当异常抛出时由调用者处理(调用者可以继续上抛)
    throw ***Exception是指程序执行到这里时抛出***Exception;
      

  6.   

    在声明异常时,在方法名后用throws后面再跟上异常的名单,这样把运行时出现的已声明过的异常向上传递给调用该方法的方法处理;throw语句用来声明自己定义的异常,这种自定义的异常必须是Throwable类的子类;try\catch语句是告诉runtime去捕获该段代码中可能会出现的异常,并进行处理,如果不写对异常的处理代码,runtime会把异常对象交给默认的异常处理程序处理。 public void p1 throws IOException { 
    throw new IOException("io error"); 

    这个example很经典,throw就是自己抛出一个异常,而 throws是声名一个异常,表明该异常不在产生异常的函数中处理,由调用该函数的方法处理
      

  7.   

    谢谢了哈,把异常交给上级管理,能再说的具体一些么,二楼的
    ==================================
    我不是2楼的,就是说当前方法不捕获这个异常,而是把异常留给。而是交给他的上一层程序来处理。都throws得话就是给系统自行处理了。还有throws可以为自定义的异常作定义。就是告诉系统方法里会出现这种类型的异常,自定义异常用throw来抛出。throw 一个自定义异常的对象,由catch来捕获他
      

  8.   

    public int test() throws Excetion {
         ...
         throw new Excetion();
    }
      

  9.   

    我是新手 看了上面的回帖  可以得出 throws的用法是在方法名后面声明一个异常该类的可能的异常或交给上级处理或系统默认处理以防程序不能正常运行  
    throw是自己可以自定义一个异常 或抛出系统报错