我正在为一家公司编写另一个ActiveRecord实现,该公司对我的代码的担心比在CastleProject实现上的名称“ Release Candidate”要少。无论如何,我在基类的每个属性上使用Attributes将它们映射到返回的DataSet的列:
[ResultColumnAttribute("CUST_FIRST_NAME")]
public string FirstName
{
get { return _columnName; }
set { _columnName = value; }
}
因此,当我从DataSet实例化类时,我将该属性值分配给列的值。当列与属性映射但没有出现在DataSet中时,我应该抛出什么异常?我不想去写一个自定义的(懒惰的),我认为Application.Exception有点难以描述。
最佳答案
此异常已本地化到您的域,因此,我认为最好编写自己的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) { }
}
关于c# - 在这种情况下应该抛出哪个.Net 2.0异常?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1039308/