gpt4 book ai didi

c# - 缺失数据异常

转载 作者:IT王子 更新时间:2023-10-29 03:51:13 25 4
gpt4 key购买 nike

我想知道应该为丢失数据抛出什么样的异常。例如,如果 xml 节点不包含数据。 “throw new Exception(...)”很容易,但不推荐这样做。另一种选择是创建一个新的异常类,例如 MissingDataExceptionInvalidDataException,但是没有针对这种情况的内置异常类吗?

最佳答案

根据经验,在派生您自己的异常之前,检查现有的 .NET 框架异常是否有合适的异常抛出。要直接回答您的问题,目前没有可抛出的“缺失数据”异常,但这并不意味着没有合适的异常来涵盖您的情况。

在你的情况下,谦虚的InvalidOperationException可能合适;当您在对象上调用方法时抛出此异常,但对象的状态不适合该操作。这方面的示例包括在已关闭的流上调用方法和已通过集合末尾的枚举器。如果 XML 数据是对象的内部状态,并且方法调用发现了错误数据,InvalidOperationException是一个很好的候选人。

如果您将 XML 数据传递给一个方法,一个 ArgumentException ,或其衍生物之一可能是一个合适的选择。这些异常有一小部分,都表明传递给方法的参数与预期的方法不一样。

只有当您希望以不同于其他异常的方式处理异常情况时,您才需要创建自定义异常。如果您确实选择创建自己的异常,请务必从高于 Exception 的异常派生它。 , 因此基类隐含了异常的性质。

关于c# - 缺失数据异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1453200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com