我的應用程序是.NET 4.5,我有一個事件處理程序,記錄所有未觀察到的任務異常錯誤。觀察到的任務異常調用TaskScheduler.UnobservedTaskException
TaskScheduler.UnobservedTaskException += (sender, e) => e.Exception.Handle(ex =>
{
logger.Error(e.Exception);
return false;
});
我返回false,什麼關閉應用程序。模擬.NET 4.0行爲。
我的問題是,爲什麼此代碼調用該事件,並因此導致我的應用程序崩潰,如果我觀察結果?
try
{
var resultado = httpClient.GetAsync('http://.....').Result;
}
catch (Exception ex)
{
logger.Error(ex);
}
UPDATE:一些調試後,我弄清楚,我有另外的任務時,我didn't叫。結果,並導致該問題。
您正在閱讀的活動有誤。這並不意味着「一個未被發現的任務的例外」,而是「未被發現的任務的例外」。 –
我編輯了我的問題。我實際上是「獲取」例外,登錄。當我調用Result時,它應該同步拋出一個異常 –
我冒昧地設置了一個更精確的標題。希望你不介意。 – usr