一:Exception中有一个特殊的子类异常RuntimeException 运行时异常。
如果在函数内抛出该异常,函数上可以不用声明,编译一样通过。
如果在函数上声明了该异常,调用者可以不用处理,编译一样通过。
之所以不用在函数上声明,是因为不需要让调用者处理。当该异常发生,
希望程序停止。因为在运行时,出现了无法继续运算的情况,希望停止程序后,
对代码进行修正。
如果在函数内抛出该异常,函数上可以不用声明,编译一样通过。
如果在函数上声明了该异常,调用者可以不用处理,编译一样通过。
之所以不用在函数上声明,是因为不需要让调用者处理。当该异常发生,
希望程序停止。因为在运行时,出现了无法继续运算的情况,希望停止程序后,
对代码进行修正。
二:catch用于处理异常,如果没有catch,则说明该异常没有被处理。如果该异常是检测时异常,那么一定要声明
三:异常在子父类覆盖中的体现:
1.子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常,或者该异常的子类。
2.如果父类抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集。
3.如果父类或者接口中的方法没有抛出异常,那么子类在覆盖方法时,也不能抛出异常。
如果子类方法发生了异常,就必须进行try处理,绝对不能抛。