0

我有一个 WPF 应用程序,我正在使用 Microsoft Jet Oledb 驱动程序读取 Excel 文件。在应用必要的类型转换后,共有三个 Excel 文件被读取并插入到数据库中。

当我设置断点并逐步调试它时,我没有异常并且数据被正确插入到数据库中。

但是当我在没有断点的情况下执行它并且不调试时,它会给我以下运行时错误:

“输入字符串的格式不正确”

请帮我。为什么会这样?

更新:

堆栈跟踪是:System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) at System.String.System.IConvertible.ToDouble(IFormatProvider provider) at System.Convert.ToDouble(Object value) at Expedia.MainWindow.InsertCallProfile (DataTable dt) 在 D:\expedia\Expedia\Expedia\MainWindow.xaml.cs: Expedia.MainWindow.Button_Click(Object sender, RoutedEventArgs e) 在 D:\expedia\Expedia\Expedia\MainWindow.xaml.cs 中的第 90 行:第 44 行

我知道存在类型转换问题,但是设置断点和调试时没有发生。

我正在使用以下转换数据类型:-

public static Nullable<T> ToNullable<T>(this object o) where T : struct
    {
        Nullable<T> result = new Nullable<T>();
        try
        {
            if (!string.IsNullOrEmpty(o.ToString()))
            {
                TypeConverter conv = TypeDescriptor.GetConverter(typeof(T));
                result = (T)conv.ConvertFrom(o);
            }
        }
        catch
        {
        }
        return result;
    } 
4

1 回答 1

2

如果您知道如何以这种方式调试 .NET 崩溃,这并不奇怪,

http://blogs.msdn.com/b/tess/archive/2009/03/20/debugging-a-net-crash-with-rules-in-debug-diag.aspx

每一次崩溃都可以解释。

于 2011-03-25T10:36:25.707 回答