Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 Re:A question on Exception,pls help..really need some explanation. [Re:HenryShanley]
anatoranato





发贴: 16
积分: 2
于 2005-11-19 05:59 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
如果不这样做的话程序中可能会存在潜在的错误,还是来看下面的例子吧.
class CanNotTasteException extends Exception {}
class TasteFailException extends Exception {}
class Fruit {
  public String taste() throws CanNotTasteException{
    return "good";
  }
}
class banana extends Fruit{
  public String taste() throws Exception{
    throw new TasteFailException();
  }
}

public class Test{
  public void test(Fruit afruit){
    try{
      afruit.taste();
    } catch(CanNotTasteException e){
      System.out.println("got it");
    }
  }
  public static void main(String [] args){
    new Test().test(new banana());
  }
}
你可以看到,如果这个代码是可以被编译通过的话,在执行的时候,必然出错.事实上,当你使用某个类族里的年长的类时,你应当捕获处理它有可能抛出的那个种类的异常,但是如果允许子类覆盖父类的方法时,可以抛出比被覆盖方法所抛出的异常的范围还要广的异常时,父类的使用者很可能就会出现如上例所示的错误.




庆祝CJSDN成立9周年

话题树型展开
人气 标题 作者 字数 发贴时间
5886 A question on Exception,pls help..really need some explanation. JiafanZhou 611 2005-11-18 21:32
4424 Re:A question on Exception,pls help..really need some explanation. anatoranato 748 2005-11-19 05:59
4732 Re:A question on Exception,pls help..really need some explanation. JiafanZhou 47 2005-11-21 16:56

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923