ConnectAsync w /在BackgroundTask中发生灾难性异常[UWP]

问题描述:

尝试在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对象。

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

Band SDK documentation(第9.3.2节)指出,人们可能会使用通用应用程序的后台任务,相关的应用程序ID检索中的SDK时发现的(预期,但不阻止)异常。

很明显,“预期异常”并不理想,但有时底层平台API的设计没有多少选择余地。

+0

好信息。我没有做任何事情瓦特/背景瓷砖事件,所以我没有理由阅读该部分。也许我们应该向ConnectAsync的doco提出警告。 – bc3tech