Используя async ctp из Microsoft для .NET, возможно ли поймать исключение, вызванное асинхронным методом в вызывающем методе?
public async void Foo()
{
var x = await DoSomethingAsync();
/* Handle the result, but sometimes an exception might be thrown
For example, DoSomethingAsync get data from the network
and the data is invalid... a ProtocolException might be thrown */
}
public void DoFoo()
{
try
{
Foo();
}
catch (ProtocolException ex)
{
/* The exception will never be caught
Instead when in debug mode, VS2010 will warn and continue
when deployed the app will simply crash. */
}
}
Итак, в основном я хочу, чтобы исключение из асинхронного кода появилось в моем кодовом коде если это вообще возможно вообще.