在这种情况下,我应该抛出哪种.Net 2.0异常?

Chr*_*all 1 c# exception

我正在为一个不太害怕我的代码的公司编写另一个ActiveRecord实现,而不是在CastleProject的实现上命名为"Release Candidate".无论如何,我在基类的每个属性上使用Attributes将它们映射到返回的DataSet列:

[ResultColumnAttribute("CUST_FIRST_NAME")]
public string FirstName
        {
            get { return _columnName; }
            set { _columnName = value; }
        }
Run Code Online (Sandbox Code Playgroud)

所以当我从DataSet实例化该类时,我将该属性值赋值为该列的值.当列与属性映射但未显示在DataSet中时,我应该抛出什么异常?我不想去写一个自定义的(懒惰),我认为Application.Exception有点不伦不类.

And*_*are 8

此异常已本地化到您的域,因此我认为您最好自己编写InvalidMappingException.

我是这样写的:

[Serializable]
public class InvalidMappingException : Exception
{
    public InvalidMappingException() { }

    public InvalidMappingException(String message)
        : base(message) { }

    public InvalidMappingException
        (String message, Exception innerException)
            : base(message, innerException) { }

    protected InvalidMappingException
        (SerializationInfo info, StreamingContext context)
            : base(info, context) { }
}
Run Code Online (Sandbox Code Playgroud)