当尝试将重复对象插入集合时,正确的 .NET 异常抛出是什么?

2024-03-29

我有一个 Asset 对象,它有一个属性 AssignedSoftware,它是一个集合。

我想确保同一个软件不会多次分配给资产。在 Add 方法中,我检查软件是否已存在,如果存在,我想抛出异常。

是否有我应该抛出的标准 .NET 异常?或者最佳实践是否要求我创建自己的自定义异常?


Why has InvalidOperationException被接受为答案?!它应该是一个ArgumentException?!

InvalidOperationException如果具有针对其调用的方法/属性的对象由于未初始化状态等而无法处理请求,则应使用该方法。这里的问题是不是被添加到的对象,而是被传递给对象的对象(这是一个骗局)。想想看,如果这个 Add 调用从未发生过,该对象是否仍能正常工作,是的!

这应该是一个参数异常.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当尝试将重复对象插入集合时,正确的 .NET 异常抛出是什么? 的相关文章

  • 用于列表和映射的 C++ 容器

    我们有一个键和值对的集合 我们需要一个容器 它可以帮助我们检索值 o 1 但也可以记住插入顺序 以便当我们进行迭代时 我们可以像插入顺序一样进行迭代 由于键是一个字符串 我们将无法使用集合或类似的结构 目前我们已经定义了自己的集合类 其中包
  • jni.h:没有这样的文件或目录

    我一直在关注本教程 http www java tips org other api tips jni simple example of using the java native interface html 在第 5 步 我从 GCC
  • 在实体框架中附加集合

    使用实体框架 我可以使用附加单个对象 entity Attach 但是 我没有看到任何方法允许我将多个对象的集合 数组添加到实体 我必须循环遍历集合中的每个项目并调用entity Attach 每一次 是的 您必须循环遍历子集合并Attac
  • 如何在 CUDA 中执行多个矩阵乘法?

    我有一个方阵数组int M 10 以便M i 定位第一个元素i th 矩阵 我想将所有矩阵相乘M i 通过另一个矩阵N 这样我就收到了方阵数组int P 10 作为输出 我看到有不同的可能性 分配不同元素的计算M i 到不同的线程 例如 我
  • 如何序列化其类相互引用的类层次结构,但避免 XmlInclude?

    我有一个类的层次结构 我想使用XmlSerializer类及其相关属性 有一个基本抽象类 然后是相当多的派生类 在下面的代码中 我已将派生类的数量减少到五个 但实际代码中还有更多 这些类形成一个层次结构 并且经常包含对层次结构中类的实例的引
  • libcurl HTTP HEAD 请求没有自动代理连接标头

    我需要关于使用 libcurl 进行以下操作的说明 我需要发送如下所示的 http HEAD 请求 HEAD mshare 3 30002 12 primary stream xNKNVH mpeg HTTP 1 1 Host 192 16
  • EF Core:同时使用ID作为主键和外键

    我有两个实体 Prospect and Person 我想做的是使用Prospect ID作为主键Prospect表并作为外键PersonID 我的想法是对两个实体使用相同的 ID 而不需要PersonID on my Prospect实体
  • 为什么无法在 android 中包含 iostream?

    已安装 android ndk r7 并尝试编译 cpp 文件 include
  • 从 AspectJ 获取返回值或异常?

    我能够从建议的方法调用中获取签名和参数 但我无法弄清楚如何获取返回值或异常 我有点假设它可以通过使用 around 并继续以某种方式完成 您可以使用after returning and after throwing开头的建议以下文件 ht
  • C#:模拟内存泄漏

    我想用c 编写以下代码 a 模拟内存泄漏的小型控制台应用程序 b 小型控制台应用程序 它将调用上述应用程序并立即释放它 模拟管理内存泄漏问题 换句话说 应用程序 b 将不断调用并释放应用程序 a 以模拟如何遏制 叛逆 内存泄漏应用程序 而不
  • 将文本文件与 C# 中的文本模式进行比较?

    我将文本文件与类似的模式进行了比较 它正在将整行写入日志 如下所示 insert into depdb fin quick code met 但我需要单独写这个depdb或者depdb fin quick code met 即 我只需要这个
  • INotifyPropertyChanged 与线程

    我有一个 BindingList
  • 在一个整数中找到另一个整数的 MSB 位置左侧的 N 个连续零位

    问题是 给定一个整数val1然后 给定第二个整数 找到最高位组 最高有效位 的位置val2找到第一个整数生成的位置左侧的未设置位的连续区域 width指定minimum必须在连续中找到的未设置位的数量 即width里面没有 0 这是我的解决
  • 有条件地使用按位运算符

    条件运算符如何使用按位运算符表示 这是一个家庭作业问题 我必须仅使用按位运算来实现条件运算符 那就很简单了 如果if允许使用语句 但它必须是严格的按位运算符 仅运营商 gt gt and lt lt 可以使用 不if可以使用语句或循环 该函
  • 为什么 Collections.addAll 应该比 c.addAll 更快

    The Java API 文档说 http java sun com javase 6 docs api java util Collections html addAll java util Collection 20T 以下关于Coll
  • __get_cpuid 的可移植性如何?

    我在用着 get cpuid 获取有关的信息x86 and x86 64我的程序运行的处理器 在 Linux 和 Mac OS 上使用 GCC 似乎可以在不包含任何头文件的情况下编译和运行 但是它的可移植性如何 它可以与其他编译器一起使用吗
  • 如何在 asp.net 中用空字符串替换字符串中的任何“/ \\ [ ] : | < > + = ; , ? *”字符

    我想用 asp net c 中的空字符串替换字符串中出现的任何以下字符 我正在尝试将其替换为 mystring contains mystring Replace 目前我正在按照上面的方法进行 有没有更干净的方法来做到这一点 感谢致敬 有很
  • Eigen 如何沿特定维度连接矩阵?

    我有两个特征矩阵 我想将它们连接起来 就像在 matlab 中一样cat 0 A B eigen 有等价物吗 Thanks 您可以使用逗号初始值设定项语法 水平方向 MatrixXd C A rows A cols B cols C lt
  • 使用 winforms 、 mdi 、父子窗体,在父窗体下指定空间打开子窗体

    我有一个 winform MAINFORM 需要以此形式打开子窗体 如图所示 黑色部分是一个面板并且包含一个编号 具有多个节点的 LinkLabels 和 Treeview 在其余部分中 我想在单击面板上的链接标签时显示子表单 子表单应完全
  • EF,Code First - 如何在插入时设置自定义 Guid 标识值

    在处理在数据库中插入新实体时 我面临以下问题Guid作为主键 代码优先的 EF 5方法 我知道有很多类似的主题 因为我为此问题运行了几个小时 但我找不到与此问题相关的主题 举个例子 我的 POCO 类是 public class Entit

随机推荐

  • 在 Java 中通过 JDBC 查询速度慢,但在其他系统(TOAD)中则不然

    您好 我有一个对 Oracle 系统的查询 其中涉及一个视图 该视图通过将 TO NUMBER 应用于表主键来连接其他表 如果我使用 TOAD 进行查询 查询速度非常快 800 个寄存器 1 秒 如果我通过 JDBC 使用字符串文字 不是参
  • 如何将MySQL表中的日常记录存储到另一个表中?

    朋友们 我创建了一个 mysql 表来获取我网站的页面访问量 我的桌子是这样的 statistics table stat id visited page visit count 每次访问 visit count 都会加一 这很完美 但现在
  • 如何更改JavaFX中的突出显示颜色?

    如何更改JavaFX中的突出显示颜色 通常它是带有渐变的蓝色 但我想要绿色突出显示 我已经尝试过以下方法 root fx shadow highlight color CCFF99 感谢帮助 Look at 里海 css JavaFX 2
  • EF 迁移:回滚上次应用的迁移?

    这看起来是一个非常常见的任务 但我找不到简单的方法来完成它 我想撤消上次应用的迁移 我本来期望一个简单的命令 比如 PM gt Update Database TargetMigration 1 相反 我能想到的是 PM gt Get Mi
  • 如何增加 Oxyplot 中轴的绘图区域?

    我正在编写一个实用程序来通过电子邮件发送堆积柱形图 该柱形图显示每个人的任务 现在我正在使用PngExporter in OxyPlot WindowsForms导出绘图 但我似乎无法弄清楚如何控制图像的下限 用户名可能很长并且会溢出到外面
  • 通过我的应用程序更新和删除 Android 中的日历事件

    谁能告诉我我该怎么做修改 编辑 和删除android日历事件这是用户自己使用我的 Android 应用程序添加的 我已经尝试了很多 但没有一个对我来说效果很好 我是第一次处理这些日历 我们有解决方案吗 看看这个问题 堆栈溢出 https s
  • android - 上传文件时发送参数

    我有这段代码http pastebin com VrMNuxcv http pastebin com VrMNuxcv它成功地将文件从我的 android 上传到服务器 不过 我希望能够随它一起发送几个字符串参数 如果可能的话 您能否告诉我
  • 在 html 字符串中渲染 ViewComponent

    假设我有一个名为 MyComponent 的 ViewComponent 从 ASP NET Core 1 1 开始 我可以通过在 razor view cshtml 页面中编写此 ViewComponent 来呈现此 ViewCompon
  • 在 Scilab 中求解 ODE

    我正在尝试做一些电路分析Scilab通过解决一个ODE 但我需要改变一个ODE取决于函数的当前值 我已经实施了该解决方案Scala using RK4方法并且效果完美 现在我正在尝试做同样的事情 但是使用标准函数Scilab 但它不起作用
  • 如何在 Delphi 7 中使用 Indy 10 进行 NTLM 身份验证?

    我想在 Delphi 7 中使用 Indy 10 组件进行 NTLM 身份验证 这是我的源代码 uses Windows Messages SysUtils Variants Classes Graphics Controls Forms
  • 如何使 matplotlib 图表看起来像这样专业完成? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 默认的 matplotlib 图表看起来确实没有吸引力 甚至不专业 我尝试了几个包 包括seaborn和prettyplotlib 但这两个都只
  • Crashlytics 控制台显示加载程序、已启用 Crashlytics 且设置正确,但无法获取崩溃报告?

    我有一个具有两种构建类型的 Android 应用程序 一是Debug另一个是Release the issue我面临的是我的Debug Build正在向 Crashlytics 和我的发送崩溃报告Release Build不会向 Crash
  • Google App 脚本中的线程

    是否可以在 Google Apps 脚本中进行线程处理 目前我正在以编程方式设置触发器来执行线程 有没有更好的办法 布鲁斯 麦克菲尔森就是一个很好的例子 他的例子Apps 脚本中的并行处理 https ramblings mcpher co
  • 我在使用 m2eclipse 时遇到构建错误,但在命令行上使用 maven2 时却没有构建错误 - 是我的 m2eclipse 配置错误吗?

    我安装了 m2eclipse 在 Eclipse 中构建一个 java 项目 我导入项目如下 Import gt Maven gt Existing Maven Projects gt Import Maven Projects gt Se
  • Intellij 检查更新:无法连接

    下面的屏幕截图已经出现好几天了 其他人看到这个吗 注意 为了确保这不是一般的连接错误 除了能够发布此软消息之外 我还进行了 github pull 这有力地表明我的网络代理已被正确禁用 并且工作正常 所以这条消息令人费解 要解决此问题 选择
  • 为什么windbg命令以.开头或者 !

    之间有什么区别吗 和 WinDbg 中有不同类型的命令 常规命令 例如kb适用于调试会话 例如 显示堆栈转储等 元命令以点为前缀 例如 load 元命令适用于调试器本身 例如 加载扩展 显示帮助等等 扩展命令以感叹号为前缀 例如 analy
  • 通过克隆/推/拉传播远程位置

    我们的项目使用了几个第三方开源库 其中一些需要自定义修改 对于每个库 我们创建了自己的本地 git 存储库 并将原始源位置添加为vendor远程 从那里克隆 根据需要修改它并将其推送到内部远程存储库 我们称之为origin 然后 这些存储库
  • 从数组公式返回单个单元格

    我想从这个公式中获得一个值 即收盘价 GoogleFinance NASDAQ AAPL close 12 13 2012 1 1 相反 此公式填充 2 个标题行 日期 收盘价 然后填充两个值 日期和收盘价 529 69 有没有办法只返回收
  • android.hardware.camera2.CaptureRequest 可以与 OpenCV 一起使用吗?

    我已经为此工作好几天了 我有一个基于 OpenCV JavaCameraView 的项目 我正在尝试与 Android 集成android hardware camera2 CaptureRequest我用来控制相机对光的敏感度的对象 Th
  • 当尝试将重复对象插入集合时,正确的 .NET 异常抛出是什么?

    我有一个 Asset 对象 它有一个属性 AssignedSoftware 它是一个集合 我想确保同一个软件不会多次分配给资产 在 Add 方法中 我检查软件是否已存在 如果存在 我想抛出异常 是否有我应该抛出的标准 NET 异常 或者最佳