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){}

}