日期:2014-05-17  浏览次数:21011 次

线程中的方法遇到异常时,会被调用它的方法捕获到吗
如果方法A中启动了某个线程,这个线程执行了方法B

线程A中用try catch做了异常处理,但是线程B没有做

当线程B出现异常时,会被A的try catch捕获吗?

我测试的结果好像是不会

------解决方案--------------------
当然不会。因为它们之间没有调用关系。你是通过传递委托,而新的线程是由CLR调用的。
------解决方案--------------------
线程之间是独立的。另外一个线程抛异常不会影响到这个线程
------解决方案--------------------
可以用PLINQ或者BackgroundWorker来捕获。
------解决方案--------------------
事实已经向你证明了,方法A启动线程后就玩去了,线程里面发生异常应该内部自己处理。