c# - 程序有时会崩溃

标签 c# vb.net winforms error-handling crash

我有一个Windows窗体,当前正在从串行端口获取数据并获取数据。数据每隔一段时间保存在 xml 中,然后保存到 sql 中。该程序有时可以运行,有时会崩溃。这是错误的事件日志。

Application: appname
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.TimeoutException
Stack:
   at System.IO.Ports.SerialPort.ReadTo(System.String)
   at System.IO.Ports.SerialPort.ReadLine()
   at appname.frmParameters.mySerialPort_DataReceived(System.Object, System.IO.Ports.SerialDataReceivedEventArgs)
   at System.IO.Ports.SerialPort.CatchReceivedEvents(System.Object, System.IO.Ports.SerialDataReceivedEventArgs)
   at System.IO.Ports.SerialStream+EventLoopRunner.CallReceiveEvents(System.Object)
   at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

非常感谢任何帮助,谢谢

最佳答案

您在 ReadTo(string) 方法上遇到超时异常,因此您应该捕获并处理该异常。

try
{
    Readto(string);
}
catch(TimeoutException ex)
{
    //Handle the timeout exception
}

关于c# - 程序有时会崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20236482/

相关文章:

c# - 在 XML 文档中查找重复的子节点

c# - WCF:如何在单独的项目中将实现逻辑用于契约(Contract)接口(interface)?

winforms - 如何使文本框上的自动完成功能在空时显示建议

c# - 将图片框锁在角落?

c# - 从 64 位 .NET 代码调试 64 位 C++ - 如何?

c# - Facebook GraphRequest.Start() 必须从主线程调用吗?

asp.net - 无法将类型 'VB$StateMachine_4_GetAllFrontPageBanners' 的对象转换为 IEnumerable(Of FrontPageBanner) 类型

.net - 是否有与 Excel 中的 NETWORKDAYS 等效的 .NET 方法?

ASP.NET AJAX 和 session 变量

c# - 连续 2 个 c# 程序游戏