throw和throws 的用法和区别
A:throw
用法:用在方法内部,后面跟的是异常对象名称。
区别:用 throw抛出了编译时期异常,方法上面必须用 throws抛出。
用throw抛出了运行时期异常,方法上面可以不用 throws抛出。
B:throws
用法:用在方法声明上,后面跟的是异常类名。
区别:用 throws在方法上声明了异常,内部可以没有 throw
l子类重写父类方法时,子类的方法必须抛出相同的异常或父类异常的子类。(父亲坏了,儿子不能比父亲更坏)
l如果父类抛出了多个异常,子类重写父类时,只能抛出相同的异常或者是他的子集,子类不能抛出父类没有的异常
l如果被重写的方法没有异常抛出,那么子类的方法绝对不可以抛出异常,如果子类方法内有异常发生,那么子类只能try,不能throws
|
|