throws主要是声明这个方法会抛出这种类型的异常,使其他地方调用它时知道要捕获这个异常。 throw是具体向外抛异常的动作,所以它是抛出一个异常实例。
1)throws出现在方法函数头;而throw出现在函数体;
2)throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常;
3)两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。
简单来说就是throws是告诉人家你要抛,打算抛,可能抛,如果真的抛出来了,你系统就别大惊小怪的给我报错,继续执行程序就行。……throw就是真的抛了,但是如果使用throw抛了一个没有用throws声明过的异常,系统就认为你没有考虑到此可能性,他必须提醒你,于是便在控制台打印一堆错误代码,然后帮你把程序强行终止掉………… |