jsl*_*tts 8 .net c# exception-handling
我正在编写一些数据访问代码,我想检查数据库中潜在的"无效"数据状态.例如,我从数据库中返回一个小部件,我只期望一个.如果我得到两个,我想抛出异常.即使参照完整性应该防止这种情况发生,我也不希望依赖于DBA永远不会改变模式(为了澄清这一点,如果删除了主键约束并且我得到了一个欺骗,我想快速而清楚地打破).
我想使用System.IO.InvalidDataException,除了我没有处理文件流,所以它会产生误导.我最终得到了一个通用的applicationexception.谁有更好的主意?
Jon*_*eet 16
InvalidDataException 对我来说似乎很合理:
您正在有效地反序列化商店中的数据.它碰巧是一个RDBMS,但这相对不重要.数据无效,非常InvalidDataException适合.
换句话说 - 如果你从文件中加载数据,你会使用InvalidDataException吗?假设你会这样做,为什么数据来自何处,就抛出的异常而言?