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的设计没有多少选择余地。
好信息。我没有做任何事情瓦特/背景瓷砖事件,所以我没有理由阅读该部分。也许我们应该向ConnectAsync的doco提出警告。 – bc3tech