黑马程序员技术交流社区
标题:
什么情况下异常只能try不能throw?
[打印本页]
作者:
haio
时间:
2014-3-21 09:30
标题:
什么情况下异常只能try不能throw?
本帖最后由 haio 于 2014-3-23 09:06 编辑
还是没有搞清楚异常在什么情况下只能try不能throw求高人指点
作者:
Ranger
时间:
2014-3-21 12:51
当异常发生时,有别的方法调用它,就可以将异常抛出到调用它的方法上,但当异常发生在最终调用类的时候,就不能再向上抛了,必须try{}catch{}解决异常,
作者:
haio
时间:
2014-3-21 13:12
本帖最后由 haio 于 2014-3-21 13:15 编辑
Ranger 发表于 2014-3-21 12:51
当异常发生时,有别的方法调用它,就可以将异常抛出到调用它的方法上,但当异常发生在最终调用类的时候,就 ...
最终调用类是什么意思?可以给一段代码或者具体说明一下下吗?非常感谢!!
作者:
刘凯旋
时间:
2014-3-21 13:22
抛出的异常比上级还大时,或者这个异常客户处理不了只能交给你处理时,一般是传进来的参数异常要try处理,程序代码异常你处理不了的要throw,throw这个异常是交给你调试程序用到,try是交给客户让他传入合法参数信息
作者:
水蓝
时间:
2014-3-21 18:22
给你看一个场景吧:
1、实现接口:
//定义一个获取数据的接口
interface IData {
byte getData();
}
//这个是实现接口的类
class Data implements IData {
@Override
public byte getData() {
//这边上抛一个Exception
//因为接口中,没有声明有Exception上抛,所以只能catch住
try {
throw new Exception();
} catch (Exception e) {
//处理异常
}
return 0;
}
}
复制代码
父子类的继承,抽象类的实现,也可以以此类推。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2