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

來源:互聯網
上載者:User

問:using
中只可以使用實現了
IDisposable
介面的對象?



答:對。IDisposable
就是設計來與
using
一起使用的。



問:可以在using
塊中寫任何代碼嗎?



答:可以。Using
的目的就是幫你把建立的對象最終處置掉。而你用這些對象做什麼完全是你的事兒。



問:可以在using
之外調用
Dispose
()嗎?



答:可以。你可以不用using
語句,自己手動去清除資源。而用了
using
則可以使你的代碼移動且防止你忘記了處置你的對象。



問:你提到了try/finally
塊。這意味著可以只有
try

finally
而沒有
catch



答:對!可以只有try

finally
而沒有
catch
。如果
try
塊中的代碼拋出異常,
finally
塊將會立即執行。



問:只有檔案和流才有Dispose
()方法嗎
?



答:不是的,很多類都實現了IDisposable
,你在使用它們的時候總是應該用
using
語句。如果你寫一個需要用某種方式去處置的類,你也可以實現
IDisposable

 



你想要知道拋出的是哪一種異常,這樣你才可以處理該異常。


異常處理不僅是列印一個錯誤資訊。比如說,在借口管理器中,如果我們知道捕獲了一個FileNotFoundException
,我們可以列印一個資訊來提示在哪兒可以找到正確的檔案。如果我們捕獲了關於資料庫的異常,我們可以給資料庫管理員發一封郵件。這都是基於捕獲特定種類的異常的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.