”throws“的作用是不在本方法中进程异常处理,而是抛给调用此方法的类中进行处理。
解释:throws后,调用的方法必须进行此调用方法类的异常捕获,也可以继续向上抛出,最后一直到main方法上,此时虽然进行异常上抛,但是如果出现错误,也是可以正常的输出错误信息的。
开发工具没有那么智能,不能帮你预测到所有可能的错误~
你不加进去的话~如果有异常的话~就会抛出系统默认已经定义好的异常~
就像你上面的程序运行的结果一样:
java.lang.ArithmeticException: / by zero
throw是用来在程序中手动抛出一个异常,这个异常通常都是自定义的,比如:
if(i==0)
{
throw new MyException("错误数据");
}
throws用来修饰一个方法,表示该方法如果产生异常的话,不在本方法中捕获,
而是丢弃给调用此方法的对象来处理,比如:
public int get() throws Exception
{
}