2
什麼TaskContinuationOptions.OnlyOnFaulted VS嘗試捕捉
var task3 = Task.Run(() => PerformLongTask()).ContinueWith(t => Log.Error(t.Exception), TaskContinuationOptions.OnlyOnFaulted);
和
var task3 = Task.Run(() => PerformLongTask());
private void PerformLongTask()
{
try
{
//......
}
catch (Exception ex)
{
Log.Error(ex);
}
}
我試圖運行這兩個例子之間的差異。從表面上看,他們表現得一樣。
一種方法比另一種更好嗎?
不在此片段中,假設Log類是線程安全的。您傾向於在UI線程上進行延續,以便將問題報告給用戶。然後它很重要。 –