A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fso918 黑马帝   /  2011-9-26 10:43  /  2293 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

大家帮我看下,下面这段代码,为什么会不能通过编译
package com;
class A extends Exception{

}
class B extends A{

}
public class Test {
public static void main(String args[]) {
  try{
   throw new B();
  }catch(A a){
   System.out.println("A is caught");
  }catch(Exception a){
   System.out.println("Exception is caught");
  }
}
}
异常信息为:
Exception in thread "main" java.lang.VerifyError: (class: com/Test, method: main signature: ([Ljava/lang/String;)V) Can only throw Throwable objects
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
at java.lang.Class.getMethod0(Class.java:2685)
at java.lang.Class.getMethod(Class.java:1620)
at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:484)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:476)

难道异常不能多重继承?

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

4 个回复

倒序浏览
黑马网友  发表于 2011-9-26 10:58:21
沙发
首先 ,这不叫多重继承,java只能单继承,为了克服这个缺点,就用那接口
其次,这个程序我测试的没有问题

评分

参与人数 1技术分 +2 收起 理由
wangfayin + 2

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-26 10:59:39
藤椅
我用的JDK 7
你的时哪个版本的?
回复 使用道具 举报
黑马网友  发表于 2011-9-26 11:12:36
板凳
哎呀  java7  是不是刚出来的呀  我的应该不是呢
回复 使用道具 举报
黑马网友  发表于 2011-9-26 12:53:29
报纸
我再Eclipse里面执行这段的代码,报异常
但是我在命令行里直接编译运行,没报异常。
看来是Eclipse的问题。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马