Head First C# 中文版 第10章 異常處理 page477

來源:互聯網
上載者:User

 

 

使用你學到的try/catch/finally
的知識來改進
Brian
的借口管理器中的異常處理。



①
給Open
按鈕的事件處理方法添加異常處理。唯寫一個彈出訊息框的
try/catch
就可以了。下面是你試圖開啟一個不是借口檔案的檔案時彈出的訊息框的樣子:



 

②
還沒完事兒。運行程式,選擇一個檔案夾,在Description
和
Last Results
欄中寫入資料,但是不要輸入
Last Used date
。現在選擇一個檔案夾並試著去儲存借口。得下面這個
ArgumentOutOfRange
異常了吧?



 

使用調試器追蹤這個異常。這個異常完全可以避免--
你可以修複這個問題並確保這個異常永不再發生嗎?

(提示:這和添加try/catch
塊無關。你需要搞明白為什麼“
Last Used date
”會導致問題。仔細觀察異常資訊來尋找線索。)



③
最後。程式在拋出ArgumentOutOfRange
異常之前儲存了一個檔案。載入這個檔案
--
你又會得到這個異常。如果試圖去開啟一個無效的借口檔案的話你會得到另一個異常。在前面添加的異常中添加一個嵌套的異常處理來確保在試圖載入無效檔案(這時常發生)的時候不會崩潰:



1.
在try/catch
塊之前添加一個叫做
clearForm
的布爾型變數。如果出現異常就把它設定為
true
,稍後再檢查它來判斷是否需要清空表單。



2.
在Open
按鈕中剛剛添加的異常處理中再添加一個
try/catch
塊。



3.
給外層try/catch
塊添加一個
finally
來把表單重設為它的原始的空白狀態。如果
clearForm
為
true
的話,把
LastUsed.Value
重設為
DateTime.Now
(這會返回目前時間)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.