理解.NET中的異常(二)

4.1 System.Exception 類型

CLR允許我們將任何類型——Int32、String等——的一個實例作爲異常拋出。但實際上,微軟定義了System.Exception類型,並規定所有和CLS兼容的編程語言都必須能夠拋出並捕獲那些繼承自System.Exception的異常類型。繼承自System.Exception的異常類型被認爲是與CLS兼容的。C#和其它許多語言都只允許代碼拋出與CLR兼容的異常。

System.Exception類型是一個很簡單的類型,下表列出了它所包含的一些屬性。

屬性

訪問權限

類型

描述

Message

只讀

String

包含一段輔助性的文本,描述異常發生的原因。在出現未處理異常時,這些信息通常會寫入log。這些信息用戶通常是看不見的,所以應儘量使用技術性的詞彙以幫助其它開發人員修正代碼。

Data

只讀

IDictionary

一個指向key-value對集合的引用。通常應在拋出異常前,向該集合添加信息,而捕獲異常的代碼則使用這些信息進行異常恢復操作。

Source

讀寫

String

產生異常的程序集的名稱

StackTrace

只讀

String

包含了調用堆棧中拋出異常的方法的名稱和簽名。該屬性對於調試極具價值。

TargetSite

只讀

MethodBase

拋出異常的方法。

HelpLink

讀寫

String

獲取或設置異常的關聯幫助文件的鏈接。

InnerExceptoin

只讀

Exception

如果當前異常是在處理另一個異常時產生的,那麼該屬性表示前一個屬性。該屬性通常爲null。Exception類型還提供了一個公有方法GetBaseException,用以遍歷所以內部異常組成的鏈表,返回最開始那個異常。







http://www.cnblogs.com/anderslly/archive/2007/03/15/675642.html




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章