2016-03-03 16 views
0

嘗試在BackgroundTask中執行簡單的ConnectAsync。 它引發了一個災難性異常(0x8000FFFF),當「中斷所有異常」打開時可以看到這個異常。我甚至已經將我的來源轉移到已知的好分支,但它仍然會這樣做。ConnectAsync w /在BackgroundTask中發生災難性異常[UWP]

我的代碼:

IBandClient client = null; 
try 
{ 
    client = await BandClientManager.Instance.ConnectAsync(band); 
} 
catch { } 

例外:

System.Exception的發生 消息:拋出異常: 'System.Exception的' 在Microsoft.Band.Store.dll 其他信息:災難性失敗(異常來自HRESULT:0x8000FFFF(E_UNEXPECTED))

在v20217中的DLL名稱是Microsoft.Band.Store_UAP.dll

奇怪的是,即使拋出此異常,client仍然填充了一個IBandClient對象。

似乎我們可以在拋出的異常方面做得更好(或者更好,但不會拋出一個)。

回答

0

Band SDK documentation(第9.3.2節)指出,人們可能會使用通用應用程序的後臺任務,相關的應用程序ID檢索中的SDK時發現的(預期,但不阻止)異常。

很明顯,「預期異常」並不理想,但有時底層平臺API的設計沒有多少選擇餘地。

+0

好信息。我沒有做任何事情瓦特/背景瓷磚事件,所以我沒有理由閱讀該部分。也許我們應該向ConnectAsync的doco提出警告。 – bc3tech