網站建設核心之捕獲異常

2022-08-07    分類: 網站建設

有些代碼必須捕獲異常,捕獲異常需要進行周密的計劃。
如果某個異常發生的時候沒有在任何地方進行捕獲,那程序就會終止執行,并在控制臺上打印出異常信息,其中包括異常的類型和堆棧的內容。對于圖形界面程序(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說明符中出現超過超類方法所列出的異常類范圍。

網頁題目:網站建設核心之捕獲異常
文章源于:http://m.kartarina.com/news/186434.html

網站建設、網絡推廣公司-創新互聯,是專注品牌與效果的網站制作,網絡營銷seo公司;服務項目有網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都做網站
主站蜘蛛池模板: 国产精品无码素人福利不卡| 日韩少妇无码喷潮系列一二三| 久久久久久国产精品无码超碰| 人妻无码第一区二区三区| 中文字幕亚洲精品无码| 少妇性饥渴无码A区免费 | 国产精品毛片无码| 色综合久久无码中文字幕| 国产强被迫伦姧在线观看无码| 无码中文字幕乱在线观看| 麻豆人妻少妇精品无码专区| 精品无码一区二区三区爱欲九九| 无码人妻一区二区三区av| 无码国产精成人午夜视频一区二区| 国产高清不卡无码视频| 亚洲中文无码亚洲人成影院| 亚洲中文字幕久久精品无码喷水 | 国产精品无码a∨精品| 久久亚洲精品无码gv| 亚洲中文字幕久久精品无码VA| 国产成人精品无码播放| 国产色综合久久无码有码| 国产免费午夜a无码v视频| 亚洲大尺度无码无码专线一区| 无码精品人妻一区二区三区人妻斩 | 无码熟妇人妻av| 亚洲AV无码成人精品区狼人影院 | 免费无码黄动漫在线观看| 2019亚洲午夜无码天堂| 91久久精品无码一区二区毛片| 亚洲中文字幕无码日韩| 日韩精品无码免费专区午夜| 亚洲AV蜜桃永久无码精品| 免费人成无码大片在线观看 | 久久久久久国产精品免费无码 | 影音先锋中文无码一区| 亚洲毛片无码专区亚洲乱| 久久亚洲精品成人无码网站| 18禁无遮拦无码国产在线播放| 亚洲精品无码久久久久牙蜜区| 亚洲日韩国产精品无码av|