ときどきハングするメソッドがあります(変更できないが使用する必要があるdllで)。もう一度実行すると、通常は正常に動作します。20分間待機してからプログラムで例外をスローするバックグラウンドスレッドを作成できるかどうか疑問に思っていました.
var triesLeft = 5;
while (triesLeft > 0) {
try {
var t = new Thread(() => { wait(20 minutes); throw new ApplicationHungException();})
t.Start();
Object o = MethodThatHangsForever10PercentOfTheTime();
} catch (ApplicationHungException e) {
triesLeft--;
}
}
t.Abort();
例外が含まれている try catch ブロックに渡されないため、これは機能しません。try catch ブロックに例外を与えるようにスレッドを取得する方法はありますか?