天天看點

《C#多線程程式設計實戰(原書第2版)》——1.12 處理異常

本節書摘來自華章出版社《c#多線程程式設計實戰(原書第2版)》一書中的第1章,第1.12節,作者(美)易格恩·阿格佛溫(eugene agafonov),黃博文 黃輝蘭 譯,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

本節講述了線上程中如何正确地處理異常。線上程中始終使用try/catch代碼塊是非常重要的,因為不可能線上程代碼之外來捕獲異常。

為了學習本節,你需要安裝visual studio 2015。除此之外無需其他準備。本節的源代碼放置在booksampleschapter1recipe11目錄中。

請執行以下步驟來了解如何線上程中處理異常:

1.啟動visual studio 2015。建立一個c#控制台應用程式項目。

2.在program.cs檔案中加入以下using指令:

《C#多線程程式設計實戰(原書第2版)》——1.12 處理異常

3.在main方法下面加入以下代碼片段:

《C#多線程程式設計實戰(原書第2版)》——1.12 處理異常

4.在main方法中加入以下代碼片段:

《C#多線程程式設計實戰(原書第2版)》——1.12 處理異常

5.運作程式。

當主程式啟動時,定義了兩個将會抛出異常的線程。其中一個對異常進行了處理,另一個則沒有。可以看到第二個異常沒有被包裹啟動線程的try/catch代碼塊捕獲到。是以如果直接使用線程,一般來說不要線上程中抛出異常,而是線上程代碼中使用try/catch代碼塊。

在較老版本的.net framework中(1.0和1.1),該行為是不一樣的,未被捕獲的異常不會強制應用程式關閉。可以通過添加一個包含以下代碼片段的應用程式配置檔案(比如app.config)來使用該政策。

《C#多線程程式設計實戰(原書第2版)》——1.12 處理異常