[英]Does ContinueWith not handle Async callbacks?
我看到斯蒂芬克萊里的博客關於Startnew是危險的 , 繼續是多么危險 。 我想在這里使用它來避免最后只是為了在異常情況下調用NSubstitute而嘗試編寫。 我發現測試通過了它應該沒有,然后注意到異常被拋出但它沒有使它超出測試信號nunit。
對於異步函數,ContinueWith是否與Task.Startnew類似? 我注意到這個簡化的等價物不會在Nunit 3中拋出內部異常。
[Test]
public async Task SimpleTest()
{
await Task.Delay(10).ContinueWith( async t =>
{
await Task.Run(()=>{throw new Exception();});
});
}
ContinueWith
不理解async
lambdas。 除了傳遞任務調度程序之外,您還需要使用Unwrap
。
我想在這里使用它來避免最后只是為了在異常情況下調用NSubstitute而嘗試編寫。
我不明白這個要求。 為什么這不起作用?
await Task.Delay(10);
await Task.Run(() => { throw new Exception(); });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.