麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

缺點:丟失的違例

2019-11-18 13:19:57
字體:
來源:轉載
供稿:網友

  一般情況下,java的違例實施方案都顯得十分出色。不幸的是,它依然存在一個缺點。盡管違例指出程序里存在一個危機,而且絕不應忽略,但一個違例仍有可能簡單地“丟失”。在采用finally從句的一種非凡配置下,便有可能發生這種情況:
  
  //: LostMessage.java
  // How an exception can be lost
  
  class VeryImportantException extends Exception {
   public String toString() {
    return "A very important exception!";
   }
  }
  
  class HoHumException extends Exception {
   public String toString() {
    return "A trivial exception";
   }
  }
  
  public class LostMessage {
   void f() throws VeryImportantException {
    throw new VeryImportantException();
   }
   void dispose() throws HoHumException {
    throw new HoHumException();
   }
   public static void main(String[] args)
     throws Exception {
    LostMessage lm = new LostMessage();
    try {
     lm.f();
    } finally {
     lm.dispose();
    }
   }
  } ///:~
  
  輸出如下:
  
  A trivial exception
      at LostMessage.dispose(LostMessage.java:21)
      at LostMessage.main(LostMessage.java:29)
  
  可以看到,這里不存在VeryImportantException(非常重要的違例)的跡象,它只是簡單地被finally從句中的HoHumException代替了。
  這是一項相當嚴重的缺陷,因為它意味著一個違例可能完全丟失。而且就象前例演示的那樣,這種丟失顯得非常“自然”,很難被人查出蛛絲馬跡。而與此相反,C++里假如第二個違例在第一個違例得到控制前產生,就會被當作一個嚴重的編程錯誤處理。或許Java以后的版本會糾正這個問題(上述結果是用Java 1.1生成的)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美日本免费一区二区三区 | 欧美人的天堂一区二区三区 | 日韩三级伦理在线观看 | 国产一区二区三区黄 | 污片视频网站 | 福利在线小视频 | 黄视频网站免费观看 | 91网页视频入口在线观看 | 毛片免费一区二区三区 | 中文字幕偷拍 | 午夜精品久久久久久久爽 | 久久宗合色 | 成人一区二区三区在线 | 一区二区三区日韩精品 | 免费a级网站 | 国产资源在线观看 | 黄色免费在线视频网站 | 欧美交在线 | 日本网站一区二区三区 | 欧美日韩经典在线 | 日韩精品中文字幕一区二区 | 午夜久久久精品一区二区三区 | 国产羞羞视频在线观看 | 国产午夜亚洲精品午夜鲁丝片 | 51色视频| 国产剧情v888av| 久久激情国产 | 精品国产一区二区三区四区阿崩 | 免费观看一区二区三区视频 | 一级毛片在线免费观看 | 一级@片| 精品视频在线免费看 | 国产日产精品一区四区介绍 | 亚洲国产高清一区 | 久久久婷婷 | 97精品视频在线观看 | 欧美日韩一区三区 | 国产成人在线观看网站 | 国产精品一品二区三区四区18 | 成人男女视频 | 亚洲成人福利在线 |