成人亚洲色欲色一欲WWW_男人看的网站_国内精品自线在拍2020不卡_人人爱干_等你说爱我之面瘫王vs火爆瑶_国产做爰视频免费播放_丁香花在线_最近更新2019中文字幕在线_啦啦啦手机视频在线观看7_httpwww色午夜com日本_亚洲日韩乱码中文无码蜜桃臀网站_国产黄色在线播放_在线理论片_国产精品日韩欧美一区二区三区_精品偷拍在线一区二区_青娱乐视觉盛宴国产视频2_最美情侣高清韩剧免费观看_久草免费新资源站_999色综合_97在线观看在线观看

網站建設核心之捕獲異常

6184

        有些代碼必須捕獲異常,捕獲異常需要進行周密的計劃。

  如果某個異常發生的時候沒有在任何地方進行捕獲,那程序就會終止執行,并在控制臺上打印出異常信息,其中包括異常的類型和堆棧的內容。對于圖形界面程序(applet和application應用程序),在捕獲異常之后,也會打印出堆棧的信息,但程序將返回到用戶界面的處理循環中(在調試基于圖形界面的程序時,最好保證控制臺窗口可見,并且沒有被極小化)。
  捕獲一個異常,必須設置try/catch語句塊,如果在try語句塊中的任何代碼拋出了一個在catch+句中說明的異常類,那么:
  1.程序將跳過try語句塊的其余代碼。
  2.程序將執行catch子句中的處理器代碼。
  如果在try語句塊中的代碼沒有拋出任何異常,那么程序將跳過catch子句。
  如果方法中的任何代碼拋出了一個在catch+句中沒有聲明的異常類型,那么這個方法就會立刻退出(期待調用者為這種類型的異常設計了catch子句)。
  需要注意,try語句中的大多數代碼都很容易理解:讀取并處理文本行,直到遇到文件結束符為止。正如在JavaAPI中看到的那樣,read方法有可能拋出一個IOException異常。在這種情況下,將跳出整個while循環,進入catch子句,并輸出堆棧情況。對于一個普通的程序來說,這樣處理異常基本上合乎情理。還有其他的選擇嗎?
  通常,最好的選擇是什么也不做,而是將異常傳遞給調用者。如果read方法出現了錯誤,就讓read方法的調用者去操心!如果采用這種處理方式,就必須聲明這個方法可能會拋出一個IOException。
  請記住,編譯器嚴格地執行throws說明符。如果調用了一個拋出已檢查異常的方法,就必須對它進行處理,或者將它傳遞出去。
  哪種方法更好呢?通常,應該捕獲那些知道如何處理的異常,而將那些不知道怎樣處理的異常傳遞出去。如果想將異常傳遞出去,就必須在方法的首部添加一個throws說明符以便告知調用者這個方法可能會拋出異常。
  仔細閱讀一下JavaAPI文檔,以便知道每個方法可能會拋出哪種異常,然后再決定是自己處理,還是添加到throws列表。對于后一種情況,也不必猶豫。將異常直接交給能夠勝任的處理器進行處理要比壓制對它的處理更好。
 
  
 
  同時請記住,這個規則也有一個例外。如果編寫一個覆蓋超類的方法,而這個方法又沒有拋出異常,那么這個方法就必須捕獲方法代碼中出現的每一個已檢查異常。不允許在子類的thrws說明符中出現超過超類方法所列出的異常類范圍。
主站蜘蛛池模板: 田阳县| 页游| 泰兴市| 河源市| 南宁市| 十堰市| 阿拉善盟| 高碑店市| 南皮县| 吴堡县| 金阳县| 鹰潭市| 乌拉特前旗| 峡江县| 苏尼特右旗| 蒲城县| 沂水县| 太原市| 秭归县| 武功县| 湘潭市| 阿拉善左旗| 宁明县| 杭锦后旗| 申扎县| 华安县| 洛川县| 双鸭山市| 独山县| 乐安县| 墨江| 石门县| 环江| 舞阳县| 阿合奇县| 晋江市| 青铜峡市| 盐城市| 安仁县| 柞水县| 闽侯县|