我提供了基於第三方物流等的方法:應該任務異常處理快速失敗嗎?
private Task AddItemAsync(Uri url, CancellationToken token)
{
if (url == null)
throw new ArgumentNullException("url");
var result = Task.Factory.StartNew(() =>
{
// Do some stuff here
}, token);
return result;
}
現在我想知道,如果它是確定一次拋出異常或到task.StartNew {}內的東西扔了吧。
我想說,如果你不需要在AddItemAsync中做任何額外的事情,如果拋出異常,那麼你可以把它扔在任何地方。如果你這樣做,那麼在AddItemAsync中捕獲它,在catch中做一些事情,然後拋出原始異常或者採取其他的行動。 – valverij