私はこのコードスニペットを書きました:
static void Main(string[] args)
{
Console.WriteLine("Start");
Thread secondThread = new Thread(ThrowAnException);
secondThread.Start();
Console.ReadKey();
}
static void ThrowAnException()
{
throw new Exception("Second Thread Exception");
}
}
私の理解では、例外が2番目のスレッドで発生すると、例外はスレッドのスタックを下に移動し、未処理の場合、子スレッドはサイレントに終了します。私が見ているのは、スレッドがメインスレッドに割り込んでおり、ThrowAnException メソッドで「Exception was Unhandled」で中断していることです。
デバッグありとなしの両方で実行しましたが、動作は同じです。
私が間違っていることはありますか?