21.4 自定义的异常类
在前面的示例代码中,可能读者已经注意到我们创建了自定义的异常。本节介绍如何自定义异常类型。前面讲过,自定义的异常应该从System.ApplicationException派生,当然,也可以直接从System.Exception类派生来创建自己的异常类型。这些自定义的异常类,每一个都表示一种特定的错误情况,因此当这些错误出现的时候,只需捕获这些异常即可。
要创建用户自定义的异常类型,需要遵守以下几点要求:
❑从System.ApplicationException或者System.Exception类派生。
❑使用"Exception"这个词作为自定义的异常名称的后缀。
❑至少提供三个公共构造函数:
❑一个不包含参数的默认构造函数。
❑一个可以包含异常消息的构造函数,只有一个参数:message。
❑一个可以包含异常消息,以及引发该异常的异常引用的构造函数,这两个参数分别是message和innerException。
在代码清单21-5中,从System.ApplicationException派生了一个新异常类型OneException,该类中定义了三个公共构造函数,每个构造函数使用不同的参数。
代码清单21-5 用户自定义异常
public class OneException:System.ApplicationException
{
public OneException(){}
public OneException(string message):base(message){}
public OneException(string message,System.Exception innerException):
base(message,innerException){}
}