作用
其他高级语言让函数的使用者来关注函数可能会出现的异常;java是把这件事交给方法的设计者来做,对于方法的使用者就不会再使用方法时忘了处理可能发生的异常。
throw和throws
throw:手动抛出异常
throws:声明方法可能要抛出的异常
使用
- 首先定义一个异常类
- 方法抛出异常:功能上通过throws关键字声明该功能可能出现问题
- 调用含有异常类的方法:必须在主函数抛出此异常或者捕获该异常
自定义异常
特有的异常,没有被Java描述并封装进对象。将特有的问题进行自定义封装,当函数内部出现throw抛出异常对象,就必须对应处理动作。(1.try catch 2.函数上声明让调用者处理)
异常在子类覆盖中的体现
- 子类覆盖父类时,如果父类方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类
- 父类抛出多个异常,子类在覆盖父类的该方法时,只能抛出父类异常的子集
- 如果父类或者接口的方法没有抛出异常,子类在覆盖方法时,也不能抛出异常
- 如果子类方法发生了异常,必须进行try处理,决不能抛出
参考博文链接:
http://blog.csdn.net/qq_34122768/article/details/51446909