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