六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

突破Java異常處理規則

[摘要]問題: 我在我的應用程序中調用了外部方法并且想捕獲它可能拋出的異常。我能捕獲java.lang.Exception嗎?   答案: 通過一個給定的方法去處理所有運行時和檢測異常對于預防外部錯誤是不充分的。   你可以去讀目前 JavaWorld文章 – “Java Tip 134: When Ca...
問題: 我在我的應用程序中調用了外部方法并且想捕獲它可能拋出的異常。我能捕獲java.lang.Exception嗎?

  答案: 通過一個給定的方法去處理所有運行時和檢測異常對于預防外部錯誤是不充分的。

  你可以去讀目前 JavaWorld文章 – “Java Tip 134: When Catching Exception, Don’t Cast Your Net Too Wide”。這篇文章警告了捕獲java.lang.Exception和java.lang.Throable是不好的。捕獲你能指定的異常對于代碼的可維護性是十分重要的。然而這個規則依賴于特殊的環境。如果你不打算你的程序崩潰并且保留你的數據結構的安全異常,那么你必須捕獲被拋出的真正的異常。

  舉個例子,想象你有一個加載了這個接口的服務器應用:

  public interface IFoo
  {
  /**
  * This method can't throw any checked exceptions...or can it?
  */
  void bar ();
  } // End of interface

  對于給出參數的理由是讓我們通知你這樣的服務在什么地方,并且不同的IFoo實現能夠從外部資源加載上。你寫如下代碼:

  try
  {
  IFoo foo = ... // get an IFoo implementation
  foo.bar ();
  }
  catch (RuntimeException ioe)
  {
  // Handle 'ioe' ...
  }
  catch (Error e)
  {
  // Handle or re-throw 'e' ...
  }

  并且你在這個里處理了所有可能的異常。你不需要在這里加上任何捕獲java.io.IOException的異常,因為IFoo實現沒有從IFoo.bar()中拋出它,對嗎?(事實上,如果你加上了捕獲java.io.IOException異常塊,編譯器可能會把它作為不可到達的異常而丟棄)

  錯誤。在我寫的EvilFoo類中bar()方法證明了將拋出你傳遞給類構造器的任何異常:

  public void bar ()
  {
  EvilThrow.throwThrowable (m_throwthis);
  }

  運行Main方法:

  public class Main
  {
  public static void main (final String[] args)
  {
  // This try/catch block appears to intercept all exceptions that
  // IFoo.bar() can throw; however, this is not true
  try
  {
   IFoo foo = new EvilFoo (new java.io.IOException ("SURPRISE!"));
   foo.bar ();
  }
  catch (RuntimeException ioe)
  {
   // Ignore ioe
  }
  catch (Error e)
  {
   // Ignore e
  }
  }
  } // End of class

  你將看到從bar()方法拋出的java.io.IOException異常實例并且沒有任何捕獲塊:

  >java -cp classes Main
  Exception in thread "main" java.io.IOException: SURPRISE!
  at Main.main(Main.java:23)

  在這里發生了什么?

  主要的觀察是通常針對檢測異常的Java規則僅僅在編譯的時候被執行。在運行的時候,一個JVM不能保證被一個方法拋出的異常是否和在這個方法中聲明的拋出異常相匹配。因為調用方法的職責是捕獲和處理所有從調用方法拋出的異常。任何沒有被調用方法聲明的異常將不予理睬并且拒絕調用棧。



主站蜘蛛池模板: 亚洲午夜精品久久久久久抢 | 日本在线视频网站www色下载 | 四虎在线精品免费高清在线 | 天天干天天射天天爽 | 天天做爽夜夜做爽 | 午夜日韩久久影院 | 中文字幕日韩在线观看 | 张丽莉老师的故事 | 亚洲国产综合精品中文字幕 | 五月天婷婷激情网 | 亚洲大片 | 午夜国产精品久久久久 | 啪啪五月 | 亚欧色| 午夜在线播放免费高清观看 | 欧美网址在线观看 | 日韩福利在线观看 | 四虎免费在线观看视频 | 综合久久久久久久 | 天天操天天干天天玩 | 亚洲欧美综合在线观看 | 日韩视频在线一区 | 人人看人人看人做人人模 | 婷婷视频在线 | 亚色在线视频 | 日本一在线中文字幕天堂 | 亚洲成人自拍 | 色最快国产 | 四虎影视在线影院在线观看 | 日本午夜在线观看 | 青青草华人在线视频 | 色综合综合 | 天天噜天天噜噜在线视频 | 午夜精品久久久久久久 | 午夜老司机免费视频 | 青娱乐最新 | 亚洲男人网站 | 亚州1区2区3区4区产品乱码2021 | 色聚网久久综合 | 日本特黄特色aa大片免费 | 亚洲啪啪免费视频 |