黑马程序员技术交流社区
标题:
在什么情况下的异常只能try{}catch{};不能抛。
[打印本页]
作者:
Alan
时间:
2013-4-20 13:30
标题:
在什么情况下的异常只能try{}catch{};不能抛。
本帖最后由 Alan 于 2013-4-20 21:51 编辑
在什么情况下的异常只能try{}catch{};不能抛。
求高手概括一下,有哪些情况。
作者:
何锦权
时间:
2013-4-20 13:52
如果父类或者接口,没有异常抛出时,子类覆盖出现异常,只能try不能抛
下面用代码来验证这个理论
class Fu
{
public void test()
{
System.out.println("Fu");
}
}
class Zi extends Fu
{
public void test() //这个方法抛出的异常,只能try,catch处理,不能抛
{
try
{
System.out.println("Zi");
throw new Exception();
}
catch (Exception e)
{
}
}
/* 这样子写会是编译错误
public void test() throws Exception
{
System.out.println("Zi");
throw new Exception();
}
*/
}
class Demo
{
public static void main(String[] args)
{
Fu f = new Zi();
f.test();
}
}
作者:
Alan
时间:
2013-4-20 14:28
就是说子类不能产生新的异常
作者:
张洪慊
时间:
2013-4-20 15:15
补充一下,
比较特殊:
如果子类中会出现:RuntimeException或其子类的异常
这时不论父类有没有该RuntimeException或其子类的异常
子类可throw,throws.
作者:
黄玉昆
时间:
2013-4-20 21:42
如果问题未解决,请继续追问,如果问题解决了,请将问题分类改为“已解决”,谢谢
作者:
Alan
时间:
2013-4-20 21:50
明白 十个字
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2