代码之家  ›  专栏  ›  技术社区  ›  jslatts

对于无效的数据库状态,要引发哪个.NET异常?

  •  8
  • jslatts  · 技术社区  · 14 年前

    我想使用System.IO.InvalidDataException,只是我没有处理文件流,因此会产生误导。我最终得到了一个通用的applicationexception。有人有更好的主意吗?

    4 回复  |  直到 14 年前
        1
  •  19
  •   Jon Skeet    14 年前

    InvalidDataException 在我看来很合理:

    • 这个名字非常合适
    • 描述中没有提到文件,所以我不会担心这方面的事情

    您正在有效地反序列化存储中的数据。它碰巧是一个RDBMS,但这相对来说并不重要。数据无效,所以 InvalidDataException无效 很合身。

    换言之-如果你 从文件中加载数据,您会使用 ? 假设您会这样做,那么就抛出的异常而言,数据从何而来又有什么关系呢?

        2
  •  6
  •   user302845 user302845    14 年前

    如果你需要一个能准确描述你正在处理的情况的例外,为什么不自己做个例外呢?

        3
  •  1
  •   ChrisLively    14 年前

    我可能会使用以下选项之一:

    InvalidConstraintException无效
    冒号
    溢出异常

    或者,继续创建我自己的:TooManyRowsException

        4
  •  0
  •   Frederik Gheysels    14 年前

    即使引用完整性 不想依赖DBA 从不更改模式。