この短いコンソール アプリ コードを検討してください。
static void Main(string[] args)
{
try
{
Action a = () =>
{
throw new ApplicationException("Oops");
};
var ar = a.BeginInvoke(null, null);
ar.AsyncWaitHandle.WaitOne();
try
{
a.EndInvoke(ar);
Console.WriteLine("No message");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
finally
{
Console.ReadKey();
}
}
Visual Studio を実行するthrow
と、未処理であるという不平が表示されて中断します。デバッガーの外で実行すると、コードは期待どおりに動作します (「おっと」と表示されます)。
Visual Studio を納得させて、現実世界と同じようにコードを実行できるようにするにはどうすればよいですか?