winform中出现“跨线程调用异常”,程序为什么不崩溃?
winform中出现“跨线程调用异常”,程序为什么不崩溃?新建一个winform的应用程序,添加一个计时器System.Timers.Timer类。
计时器间隔为1秒,计时器中的代码,定时刷新界面上的label控件。
在调试状态下,程序会提示异常。
但是编译好exe后,直接运行。就不会提示错误
前提:程序里面没有做异常处理。
期待的结果:程序会因为异常而崩溃。
问题:为什么程序不会崩溃?
可以添加异常捕获及退出 添加异常捕捉 forms.timer是运行在ui线程,timers.timer是多线程的,对于跨线程操作需要invoke。 winform 有主线程的即UI线程, 只要主线程不奔溃,程序就不会奔溃
页:
[1]