我有一個對象A從中我想用對象的B方法執行新線程。我可以使用Task.CreateNew等..問題是我不知道如何處理新線程中的異常。內部線程異常處理
我想一般的是,與對象的B法內螺紋拋出異常哪個父對象A將趕上並關閉它的執行,與對象B.沿
我無法添加代碼,掌握循環在所有
完成主循環結束以後,例外是不接受的,我想 趕時間內螺紋例外它發生
有什麼辦法可以實現它嗎?
在下面的代碼我沒有異常處理和主線程繼續:
static void Main()
{
Console.WriteLine("start");
Task.Factory.StartNew(PrintTime, CancellationToken.None);
for (int i = 0; i < 20; i++)
{
Console.WriteLine("master thread i={0}", i + 1);
Thread.Sleep(1000);
}
}
private static void PrintTime()
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine("inner thread i={0}",i+1);
Thread.Sleep(1000);
}
throw new Exception("exception");
}
這意味着主線程必須完成以檢查異常,而我想終止內線程異常的任何線程 – eugeneK
@eugeneK:我編輯了我的答案,以防止在發生內部異常時進行迭代。即使在1000毫秒的延時結束之前,這可以進一步改進以停止主線程。 – Douglas
雖然我不能改變主迴路, – eugeneK