1.声明抛弃例外

  如果在一个方法中生成了一个例外,但是这一方法并不确切地知道该如何对这一异常事件进行处理,这时,一个方法就应该声明抛弃例外,使得例外对象可以从调用栈向后传播,直到有合适的方法捕获它为止。

  声明抛弃例外是在一个方法声明中的throws子句中指明的。例如:

  public int read () throws IOException{
        ......
  }

  throws子句中同时可以指明多个例外,之间由逗号隔开。例如:

  public static void main(String args[]) throws
  IOException,IndexOutOfBoundsException {…}


 2.抛出例外

  抛出例外就是产生例外对象的过程,首先要生成例外对象,例外或者由虚拟机生成,或者由某些类的实例生成,也可以在程序中生成。在方法中,抛出例外对象是通过throw语句实现的。

  例如:
  IOException e=new IOException();
  throw e ;

  可以抛出的例外必须是Throwable或其子类的实例。下面的语句在编译时将会产生语法错误:
  throw new String("want to throw");