从线程向主线程发送异常?

Rev*_*Rev 14 c# multithreading exception-handling exception

我想将当前线程(该线程不是主线程)的异常传递给主线程.为什么?因为我在另一个线程中检查我的硬锁(该线程使用计时器进行检查),并且当HardLock无法访问或无效时,我创建一个由我自己定义的异常,然后抛出该异常.
所以异常不能很好地运作.(

Ste*_*ary 13

最好的办法是Thread用a 替换Task(.NET 4.0中的新增功能).本Task类处理到任何线程来检查任务的结果异常的正确封送处理.

如果无法使用.NET 4.0,则Rx扩展中的 CoreEx.dll 包含一个Exception.PrepareForRethrow扩展方法,用于保留异常的调用堆栈.您可以将此与MaLio的建议结合使用,SynchronizationContext以便将另一个线程的异常编组.