黑马程序员技术交流社区
标题:
为什么接口不能抛出异常
[打印本页]
作者:
hdsjsql
时间:
2013-4-18 21:40
标题:
为什么接口不能抛出异常
为什么接口不能抛出异常?
作者:
黑马-张明
时间:
2013-4-18 21:44
本帖最后由 黑马-张明 于 2013-4-18 21:47 编辑
public interface xx{
public void method1() throws 1Exception;
public void method2() throws 2Exception;
public void method3() throws 3Exception;
public void method4() throws 4Exception;
}
这样是为了保证代码中如果出现异常,就可以在外围catch,并且强制性的让程序员在最外边catch异常。这样代码就更安全了。
如果你能肯定实现接口的类都不会抛异常的话,接口就不需要抛异常。一般情况下接口都是要抛异常的,因为接口是事先写好的,并不知道后面实现接口的类会不会抛异常,如果接口不抛异常,则实现接口的类有异常都没法抛。基于这一点,接口基本上都要跑异常 ,并且最好是抛Exception异常,Exception异常时所有异常的父类,所以实现接口的类无论抛什么异常都没有关系了。当然,如果你仅仅是在学习中写代码,而不是实际开发,也可以不抛。
作者:
何锦权
时间:
2013-4-18 21:45
亲,接口里的方法只是都是抽象方法,没有方法体的,那又怎么能抛出异常呢
作者:
Miss小强
时间:
2013-4-18 22:05
何锦权 发表于 2013-4-18 21:45
亲,接口里的方法只是都是抽象方法,没有方法体的,那又怎么能抛出异常呢 ...
啊?可以吧,接口中定义的异常实现类必须带着。。。
作者:
黄玉昆
时间:
2013-4-20 14:46
如果问题未解决,请继续追问,如果问题解决了,请将问题分类改为“已解决”,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2