当我通过使用断点单步运行程序时,它执行得很好,但是当我在没有断点的情况下运行它时,它会给出运行时异常
我有一个 WPF 应用程序,在其中使用 Microsoft Jet Oledb 驱动程序读取 Excel 文件。应用必要的类型转换后,总共会读取三个 Excel 文件并将其插入数据库。
当我设置断点并逐步调试它时,我没有遇到异常,并且数据已正确插入到数据库中。
但是,当我在没有断点的情况下执行它并且不进行调试时,它会给出以下运行时错误:
“输入字符串的格式不正确 格式”
请帮助我。为什么会发生这种情况?
更新:
堆栈跟踪位于: System.Number.ParseDouble(字符串 值、NumberStyles 选项、 NumberFormatInfo numfmt) at System.String.System.IConvertible.ToDouble(IFormatProvider 提供商)在 System.Convert.ToDouble(对象值) 在 Expedia.MainWindow.InsertCallProfile(数据表 dt) 在 D:\expedia\Expedia\Expedia\MainWindow.xaml.cs:line 90 于 Expedia.MainWindow.Button_Click(对象 发送者、RoatedEventArgs e) 中 D:\expedia\Expedia\Expedia\MainWindow.xaml.cs:line 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;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您知道如何以这种方式调试 .NET 崩溃,这并不奇怪,
http://blogs.msdn.com/b/tess/archive/2009/03/20/debugging-a-net-crash-with-rules-in-debug-diag.aspx
每一次崩溃都可以得到解释。
It is not something strange if you know how to debug .NET crash in this way,
http://blogs.msdn.com/b/tess/archive/2009/03/20/debugging-a-net-crash-with-rules-in-debug-diag.aspx
Every crash can be explained.