標籤:好處 結合 類圖 項目 檔案 學習總結 source java7 函數
1. 本周學習總結1.1 以你喜歡的方式(思維導圖或其他)歸納總結異常相關內容。
2. 書面作業本次PTA作業題集異常1. 常用異常結合題集題目7-1回答1.1 自己以前編寫的代碼中經常出現什麼異常、需要捕獲嗎(為什麼)?應如何避免?
答:出現過NullPointerException, ClassCastException,這兩種異常都不需要捕獲,因為都是繼承自RuntimeExceotion。想要避免,我們應該在編寫程式過程中注意判斷null 指標、強制類型轉換。
1.2 什麼樣的異常要求使用者一定要使用捕獲處理?
答:除了Error和 RuntimeException 異常類及其子類外的異常,都要求使用者使用捕獲處理。
2. 處理異常使你的程式更加健壯題集題目7-22.1 實驗總結。並回答:怎麼樣才能讓你的程式更加健壯?
答:在for迴圈中進行try-catch捕獲異常,需要注意的是在catch語塊中輸出異常後還要進行“i--”,否則會出錯。
讓程式更加健壯,就要學會捕獲處理各種異常。
- throw與throws
題集題目7-3閱讀Integer.parsetInt原始碼3.1 Integer.parsetInt一開始就有大量的拋出異常的代碼,這種做法有什麼好處?
答:好處是讓我們知道異常出現的位置,從而可以解決處理異常的代碼。
3.2 結合自己編寫的程式與3.1,分析自己編寫的方法拋出異常時一般需要傳遞給調用者一些什麼資訊?
答:需要傳遞給調用這:當傳入的字元為null、radix<Character.MIN_RADIX時,就會拋出 NumberFormatExceotion 異常的資訊。
4. 用異常改進ArrayIntegerStack題集題目6-34.1 結合6-3代碼,回答使用拋出異常的方式代表程式運行時出錯有什麼好處?比單純的返回錯誤值,有何優點?
答:能夠更加準確的定位,找到錯誤的位置,使程式更加健壯。如果是單純的返回錯誤值,則首先需要花時間找到出錯的位置,才能進行進一步的處理。
4.2 如果一個方法內部的內碼拋出的是RuntimeException類型的異常,那麼方法聲明是否應該使用throws關鍵字,如果使用throws關鍵字聲明該方法拋出的異常,能給我們帶來什麼好處嗎?
答:應該使用throw 關鍵字。好處:使代碼更加健壯。
5. 函數題-多種異常的捕獲題集題目6-15.1 結合6-1代碼,回答:一個try塊中如果可能拋出多種異常,且異常之間可能有繼承關係,捕獲時需要注意些什嗎?
答:需要注意多種異常之間的繼承關係,即應先捕捉子類然後再捕捉其父類。
5.2 一個try塊中如果可能拋出多種異常,使用Java8的多重異常捕獲文法需要注意些什嗎?6. 為如下代碼加上異常處理
6.1 改正代碼,並增加如下功能。當找不到檔案時,需提示使用者找不到檔案xxx,請重新輸入檔案名稱,然後嘗試重新開啟。 如果是其他異常則提示開啟或讀取檔案失敗!。功能2:需要添加finally關閉檔案。無論上面的代碼是否產生異常,總要提示關閉檔案ing。如果關閉檔案失敗,提示關閉檔案失敗!6.2 結合題集6-2代碼,要將什麼樣操作放在finally塊?為什嗎?使用finally關閉資源需要注意一些什嗎?6.3 使用Java7中的try-with-resources來改寫上述代碼實現自動關閉資源。簡述這種方法有何好處?7. 物件導向設計作業-圖書館管理系統(分組完成,每組不超過3個同學)登入lib.jmu.edu.cn,對圖書進行搜尋。然後登入圖書館資訊系統,查看我的圖書館。如果讓你實現一個圖書借閱系統,嘗試使用物件導向建模。7.1 該系統的使用者有誰?7.2 主要功能模組(不要太多)及每個模組的負責人。下周每個人要提交自己負責的模組代碼及運行視頻。7.3 該系統的主要的類設計及類圖(可用)7.4 你準備如何儲存圖書資訊、解決資訊、讀者資訊等。3.碼雲及PTA題目集:異常3.1. 碼雲代碼提交記錄在碼雲的項目中,依次選擇“統計-Commits曆史-設定時間段”, 然後搜尋並3.2 PTA題集完成情況圖需要有兩張圖(1. 排名圖。2.PTA提交列表圖)3.3 統計本周完成的代碼量需要將每周的代碼統計情況融合到一張表中。
JAVA week 10 -----異常