【问题标题】:Getting an error when throwing a custom exception from a property从属性抛出自定义异常时出错
【发布时间】:2019-06-02 19:42:03
【问题描述】:

在 NeuralNetwork 类中,我定义了嵌套类

public class TrainSetCardinalityMismatch : ArgumentOutOfRangeException 

当用户尝试提供的训练集与答案集的元素数量不同时,将抛出此错误,反之亦然。所以在训练集的setter中,我检查元素的数量是否与答案集中的元素数量相匹配,如果不匹配,我把

throw new TrainSetCardinalityMismatch();

但它给了我错误

NeuralNetwork.TrainSetCardinalityMismatch.TrainSetCardinalityMismatch()' 由于其保护级别而无法访问

trainingSet 也是神经网络类的一个字段(这无关紧要,因为错误是公开的),并且不要认为 ArgumentOutOfRangeException 是私有的。

有人有什么想法吗?

【问题讨论】:

  • 你的神经网络怎么样?我认为它必须是公开的才能抛出嵌套异常,因为编译器不知道它将在哪里处理。

标签: c# properties inner-classes access-modifiers custom-exceptions


【解决方案1】:

忽略这个问题 - 我忘记在构造函数上放置访问修饰符...

【讨论】:

  • 如果您认为您的错误会在未来帮助某人,请更新您的答案并添加一些代码并完整解释。否则,删除问题。谢谢
猜你喜欢
  • 1970-01-01
  • 2011-10-06
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-08
  • 1970-01-01
相关资源
最近更新 更多