最近在用C# winform多线程处理一些任务,我开四个thread,每个thread启动一个start函数,start函数里又有很多函数,很多业务逻辑处理,我本来想在这些复杂的业务逻辑处理过程中,如果遇到非理想的情况,就throw new exception,在start函数的try catch中倒是可以接受到这些异常,但是走完catch和finally之后,整个winform application就退出了,不见了。
有没有办法子线程抛出异常之后,只停止当前线程,而不终止整个application,因为还要反映到界面提示,还有其他线程在处理任务。
代码问题,你没有消化异常?
z在子线程的start函数里,我有try catch处理的。
@mrhyher: 设置线程为后台线程
@上帝之城: thread.IsBackground = true;不行,走完catch和fianlly application还是自动退出。
@mrhyher: 你finally报错了
@上帝之城: finally里面啥也没有,不可能报错
@上帝之城: 找到了问题了,在catch里面调用了有throw new exception的函数,throw出来的异常没有被处理,导致application退出,谢谢啦!
你的 catch 试试为空