日期:2014-05-20  浏览次数:20841 次

java throw与throws区别(不懂);
我的理解:
  throw本质:在语句中手动抛出一个异常实例;
  throw语法:不可单独使用,要和try catch 配套,抛出到上一级;
  throws本质:在方法中声明回避异常;
  throws语法:可以单独使用,抛出到调用者;
我想问:
  throw与throws抛出的哪个要捕获,那个不要捕获,不捕获程序会终止吗;都是抛出到上一级的吗?


  
  
java

------解决方案--------------------
  throws语句   
  throws总是出现在一个函数头中,用来标明该成员函数可能抛出的各种异常。对大多数Exception子类来说,Java 编译器会强迫你声明在一个成员函数中抛出的异常的类型。如果异常的类型是Error或 RuntimeException, 或它们的子类,这个规则不起作用, 因为这在程序的正常部分中是不期待出现的。 如果你想明确地抛出一个RuntimeException,你必须用throws语句来声明它的类型。  
   
  throw语句   
  throw总是出现在函数体中,用来抛出一个异常。程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。