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