在BackgroundTask [UWP]中使用ConnectAsync的灾难性例外

时间:2016-03-03 15:55:13

标签: win-universal-app microsoft-band

尝试在BackgroundTask中执行简单的ConnectAsync。 它引发了一个灾难性的异常(0x8000FFFF),这可以在"打破所有异常"打开了。我甚至将我的来源推到已知的好分支上,它仍然会这样做。

我的代码:

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个对象。

似乎我们可以在抛出异常方面做得更好(或者更好但不抛出异常)。

1 个答案:

答案 0 :(得分:0)

Band SDK documentation(第9.3.2节)表示在通用应用程序的后台任务中使用SDK时,可能会注意到(预期但未阻塞)异常,这与检索应用程序ID有关。

显然,“预期异常”并不理想,但有时底层平台API的设计几乎没有选择。