1.throws 用于抛出方法层次的异常, 并且直接由些方法调用异常处理类来处理该异常, 所以它常用在方法的后面。比如 public static void main(String[] args) throws SQLException 2.throw 用于方法块里面的代码,比throws的层次要低,比如try...catch ....语句块,表示它抛出异常, 但它不会处理它, 而是由方法块的throws Exception来调用异常处理类来处理。
有些程序中编译是没有问题的.但它存在着逻辑的异常.比如说零做除数.当有这样的情况时,你可以通过IF来处理,你也可以能过异常,也就是说如果零做除数你就用throw new Exception()抛出一个异常.! 然后能过try-catch来处理.如果说你抛出的异常写在的是方法里,并且你没有用try-catch来处理,那么你就需要在方法的()后面用throws来向上一层抛出异常.当你调用这个方法的时候再进行try-catch处理