引发WPF异常而没有堆栈跟踪指示

时间:2018-12-01 10:29:20

标签: c# wpf exception

  

抛出异常:System.Data.dll中的'System.IndexOutOfRangeException'

这是调试WPF应用程序时得到的输出。不止一次,但仅此而已。

没有行号,没有堆栈跟踪,也没有其他任何东西可以告诉我代码在哪里发生-根据我得到的数目以及它们何时发生,我强烈怀疑它在(每10个)内部发生秒)对reader.getOrdinal(fieldName)的调用中的TimedEvent出错。

不过,我很想证明/证明这一点。

应用程序不会在那里死,所以给我的印象是这是在try / catch / finally块内发生的...但是我的catch块都没有输出这样的消息。如果它在我的捕获块之一中,那么我也会期望其他输出,但我没有得到。我想它可能与我的任何代码都不相关(因此,没有stacktrace显示对其进行调用),而我恰好正坐在旁边,看到CLR内部出现问题。

如果重要的话,这些调用是尝试从古老的MSAccess数据库中读取数据。如果我认为有帮助的话,我会发布代码。

我是一位经验丰富的程序员,尽管WPF不是我的主要专长,而且我还没有遇到可以提供此类无用调试信息的异常。我的目标是了解发生这种情况的含义以及如何确定错误发生的位置。

编辑:

发现它在try块中发生。为什么会为捕获的异常生成消息?!?

代码紧随其后。

 if (t != null && t.CurrentBoard != 0) // If Game isn't Over
 {
                    int cb = t.CurrentBoard;
                    int cr = t.CurrentRound;

                    try 
                    {
THIS CALL RIGHT HERE

                        col = reader.GetOrdinal(cb.ToString()); // exception if current board score doesn't exist
                    }

                    catch (IndexOutOfRangeException)
                    {
                        col = -1;
                    }

                    if (col != -1 && !reader.IsDBNull(col) && reader.GetValue(col) != DBNull.Value)
                    {
                            // If a score for the current board has been submitted

0 个答案:

没有答案