У меня есть следующий методИсключения не выброшено в конфигурации Task асинхронном
public async Task<bool> Connect()
{
lock (_connectingLock)
{
if (_connecting)
throw new IOException("Already connecting");
_connecting = true;
}
try {
await tcpClient.ConnectAsync(...);
}
catch (SocketException e)
{
return false;
}
finally
{
lock (_connectingLock)
{
_connecting = false;
}
}
}
Теперь я хотел бы ожидать последовательные вызовы на Connect()
бросить IOException, но этого не происходит!
В чем может быть причина?
Вот! NCrunch стал зеленым. Ура! – kasperhj
Этот случай также достаточно прост, что вы можете реализовать его с помощью 'ContinueWith', а не' await', так что исключения должны быть явно заключены в результирующую задачу, а не в неявно. – Servy