1. 程式人生 > >作業10-異常

作業10-異常

優點 關閉資源 找不到文件 圖書 閱讀 解決 fileinput 可能 commit

已經申請延時交作業,請忽略,感謝。

1. 本周學習總結

1.1 以你喜歡的方式(思維導圖或其他)歸納總結異常相關內容。

2. 書面作業

本次PTA作業題集異常

1. 常用異常

結合題集題目7-1回答

1.1 自己以前編寫的代碼中經常出現什麽異常、需要捕獲嗎(為什麽)?應如何避免?

1.2 什麽樣的異常要求用戶一定要使用捕獲處理?

2. 處理異常使你的程序更加健壯

題集題目7-2

2.1 實驗總結。並回答:怎麽樣才能讓你的程序更加健壯?

3. throw與throws

題集題目7-3
閱讀Integer.parsetInt源代碼

3.1 Integer.parsetInt一開始就有大量的拋出異常的代碼,這種做法有什麽好處?

3.2 結合自己編寫的程序與3.1,分析自己編寫的方法拋出異常時一般需要傳遞給調用者一些什麽信息?

4. 用異常改進ArrayIntegerStack

題集題目6-3

4.1 結合6-3代碼,回答使用拋出異常的方式代表程序運行時出錯有什麽好處?比單純的返回錯誤值,有何優點?

4.2 如果一個方法內部的內碼拋出的是RuntimeException類型的異常,那麽方法聲明是否應該使用throws關鍵字,如果使用throws關鍵字聲明該方法拋出的異常,能給我們帶來什麽好處嗎?

5. 函數題-多種異常的捕獲

題集題目6-1

5.1 結合6-1代碼,回答:一個try塊中如果可能拋出多種異常,且異常之間可能有繼承關系,捕獲時需要註意些什麽?

5.2 一個try塊中如果可能拋出多種異常,使用Java8的多重異常捕獲語法需要註意些什麽?

6. 為如下代碼加上異常處理

byte[] content = null;
FileInputStream fis = new FileInputStream("testfis.txt");
int bytesAvailabe = fis.available();//獲得該文件可用的字節數
if(bytesAvailabe>0){
content = new byte[bytesAvailabe];//創建可容納文件大小的數組
fis.read(content);//將文件內容讀入數組
}

System.out.println(Arrays.toString(content));//打印數組內容

6.1 改正代碼,並增加如下功能。當找不到文件時,需提示用戶找不到文件xxx,請重新輸入文件名,然後嘗試重新打開。 如果是其他異常則提示打開或讀取文件失敗!。

註1:裏面有多個方法均可能拋出異常。
功能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 統計本周完成的代碼量

需要將每周的代碼統計情況融合到一張表中。

作業10-異常