C#winform程序运行到多线程后跳出

c#winform写的一个管理程序,在debug/release模式下,程序能够正常执行,没有报错。

通过VS把程序打包生成安装程序,使用安装后的exe运行,一到多线程启动或者关闭的情况下,程序自动关闭。
测试过
try
{
Class_GV.thread_myTimer.Start();
}
catch (Exception ex) { MessageBox.Show(ex.ToString()); }
但是为报告异常,就直接退出程序。

并且,也只是当执行 Class_GV.thread_myTimer.Start()的时候跳出。

这个 Class_GV.thread_myTimer是我做的一个串口通信和判断的线程,主要是为了方式界面卡死做的。程序内部没有退出之类的语句。

你的应该是 子线程处理过程中发生了异常
现在.net 的机制是:子线程发生的异常 在主线程是捕获不到的
子线程未处理的异常都会使程序退出。

你最好在 子线程的函数里去捕获异常然后处理掉
温馨提示:答案为网友推荐,仅供参考
相似回答