我得到的具体错误是System.ArgumentException,消息为“Value不在预期范围内”。
我想知道什么可能导致此错误(我怀疑某种溢出),但我也想知道是否存在这些通用.NET消息及其原因的列表。
答案 0 :(得分:1)
如果您知道类和方法(如堆栈跟踪所示),那么您应该能够使用Reflector找出出错的地方(假设异常消息没有告诉您)。
要回答问题的后半部分,可以使用Reflector-> F3-> ArgumentException,双击结果并按Ctrl + R分析它的使用位置。这样你可以指定BCL(各种版本)或你喜欢的任何程序集(只需要在Reflector中加载)。
答案 1 :(得分:0)
您需要查看堆栈跟踪 - 堆栈跟踪+消息的组合通常足以使异常变得可理解。
如果它是抛出异常的框架类型,请在sdtack跟踪中找到第一个公共方法调用,并在MSDN上查找它。这应该解释方法期望什么以及还有什么可能导致异常。
答案 2 :(得分:0)
不幸的是,我们需要更多信息来帮助您。
使用的异常和特定的错误消息是库创建者的责任。不幸的是,这种类型的“非常通用”异常消息在许多写得不好的库中很常见。
异常消息应该非常具体,因此显而易见的是导致异常的原因。在这种情况下,由于它是一个ArgumentException,堆栈跟踪应该为您提供足够的信息来解密抛出异常的方法。更好的消息会使哪个参数无效,但这将由图书馆的作者来实现。