我在子类定义了一个方法覆盖父类方法,父类方法头有throws Exception 可是我在子类方法头抛出其它异常也能运行啊如 throws Error

解决方案 »

  1.   

    意思是表达清楚了,可是说的真tmd枯燥平淡。操,天天看这种书,人可能要疯。呵呵~~~
      

  2.   

    "我在子类定义了一个方法覆盖父类方法,父类方法头有throws Exception 可是我在子类方法头抛出其它异常也能运行啊如 throws Error"没搞错!! Exception 是所有异常的父类!!当然不会有问题!另外:换本书吧,把Exception翻译成"例外"的书,我想可读性高不了.个人意见,别生气.
      

  3.   

    class testSuper 
    {
    int a() throws SQLException
    {
    return 1;
    }
    }public class test extends testSuper
    {
    int a() throws ClassNotFoundException
    {
    return 2;
    }
    };你可以吧你代码贴出来看一下
    E:\test>javac test.java
    test.java:3: cannot resolve symbol
    symbol  : class SQLException
    location: class testSuper
            int a() throws SQLException
                           ^
    test.java:11: a() in test cannot override a() in testSuper; overridden method do
    es not throw java.lang.ClassNotFoundException
            int a() throws ClassNotFoundException
                ^
    2 errors这是我写的一个例子,编译的时间出了以上错误
      

  4.   

    哈哈~~~,一看作者就是个语言学家,真~~~~~拗口!!=================================
    总之,一个JS狂人就是这么写的:
    <a href="javascript:location.href='http://www.csdn.net'">CSDN</a>
      

  5.   

    其实这段话漏了一段正好是楼主所不明白的。Exception由两种,一种叫做checked,一种叫做Runtime的。
    checked的Exception是需要程序进行处理的,而Runtime的如果
    你不catch也是可以的,而java.lang.Error,java.lang.ClassCastException
    等等都是属于Runtime的违例,所以在子类里面的覆盖方法里面抛
    java.lang.Error就相当于你没有抛checked Exception也就验证了最后一句话:
    如果父类方法声明抛出例外子类方法可以不声明抛出例外。