軟體構造Lab4實驗總結

2021-09-24 03:14:25 字數 1460 閱讀 2117

本實驗的主要工作是找到程式容易出錯的地方,並且盡力避免程式的崩潰。主要找到了以下幾種容易出錯的場合:

1.trackgame的錯誤處理:

(1).如果game標籤沒有找到或者不合法,則丟擲異常game type error.

(2).如果num of track標籤沒有找到或者不合法,則丟擲異常num of track error.

(3).對於運動員的資訊,如果某行資料的格式不合法,將忽略該資料,繼續讀取其他資料。如果沒有合適的運動員資料,則丟擲異常athlete not found.

(4).如果有兩個運動員名字完全相同,丟擲異常same name.

(5).如果國家名字不是三位大寫字母,丟擲異常country of *** error。其中***為該運動員的姓名。

(6).如果進行接力比賽時,選手數目不能被4整除,丟擲異常not divisive by 4.

2.atom structure的錯誤處理

(1).如果元素名字不合法或未找到,丟擲異常element name error.

(2).如果原子軌道數目不合法或未找到,丟擲異常number of tracks error.

(3).如果電子數目的資料組數和原子軌道數不匹配,丟擲異常track number illegal.

(4).如果沒有找到電子數目資訊,丟擲異常electron information required.

(5).如果中子和質子的資訊不是同時出現或同時不出現,丟擲異常nucleus error.

(6).若躍遷時當前軌道已經為空或者目標軌道不存在,丟擲異常not legal transit action.

3.social network circle的錯誤處理

(1).如果找不到中心使用者,或者中心使用者的資訊格式不正確,丟擲異常central user error.

(2).如果某個使用者的性別資訊不正確,丟擲異常*** error。

(3).如果在新增社交關係時使用了未定義的使用者,丟擲異常add failed.

(4).試圖刪除不存在的社交關係,丟擲異常remove failed.

(5).試圖查詢不存在的使用者的邏輯距離,丟擲異常name not found.

(6).試圖查詢不在第一軌道上使用者的expansion,丟擲異常not on track 1.

(7).若某些行的資訊有部分錯誤,忽略該行但不終止程式。

為了記錄和輸出方便,定義了乙個自定義異常類。該類包含了發生錯誤的日期和時間,表示錯誤資訊的字串以及錯誤型別編號。當此異常物件被建立時,還可以自動向控制台輸出相關的錯誤資訊,以便於定位錯誤。

通過本次實驗我學會了為程式新增異常處理機制,使用斷言保證程式的正確性,以及用日誌來記錄程式的所作所為。總體來講有一定的收穫。實際上,為他人進行**的差錯比自己寫乙個新的程式還要困難,需要更強的**理解能力。

哈工大軟體構造Lab4實驗心得

這次實驗基於lab3對 進行修改,處理各種異常,保證健壯性和正確性。之前在lab3中已經很注意防禦性程式設計了,但是這次改動還是特別大。太難了。健壯性更多的是對使用者友好,而正確性是對程式設計師友好,健壯性考慮的是輸入有問題的時候,程式能優雅的繼續進行,或者提示錯誤,正確性是保證程式正確輸入的時候能...

Lab4實驗總結 異常處理

lab4要求我們提高程式的健壯性,其中就要求我們對輸入檔案進行檢查,發現其中錯誤的地方並且丟擲異常,提示相關的錯誤資訊。事實證明,這一點對後續實驗中讀入大檔案時的檢查非常重要,因為肉眼看出幾十萬行的檔案中的錯誤幾乎是不可能的。丟擲異常是一種比較溫和的檢查機制,在發現錯誤後,我的程式會捕獲異常,提示資...

軟體構造Lab4 日誌功能

log4j是apache的乙個開源專案,通過使用log4j,我們可以控制日誌資訊輸送的目的地是控制台 檔案 gui元件,甚至是套介面伺服器 nt的事件記錄器 unix syslog守護程序等 我們也可以控制每一條日誌的輸出格式 通過定義每一條日誌資訊的級別,我們能夠更加細緻地控制日誌的生成過程。最令...