throw与throws的区别

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

class Age{
  public void intage(int n) throws myException{//
  if(n<0||n>120){
  myException e=new myException(n);
  throw e; //是一个转向语句,抛出对象实例,停止执行后面的代码
  }
  if(n>=0){
  System.out.print("合理的年龄!");
  }
  }

原文地址:https://www.cnblogs.com/zhaoleigege/p/5809526.html