До того, как у нас было async
/ await
и Task
-ориентированное программирование, были асинхронные операции, открытые для различных оболочек ввода / вывода (которые все еще доступны) с использованием шаблона BeginOperation
/ EndOperation
с IAsyncResult
. Мне трудно найти документацию о том, что произойдет, если вы никогда не назовете EndOperation
часть контракта, особенно в отношении ненаблюдаемых исключений. Я знаю, что Task
довольно смутно смотрят на ненаблюдаемые исключения. Что произойдет, если IAsyncResult
будет ликвидирован, удерживая исключение?