尝试在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
个对象。
似乎我们可以在抛出异常方面做得更好(或者更好但不抛出异常)。
答案 0 :(得分:0)
Band SDK documentation(第9.3.2节)表示在通用应用程序的后台任务中使用SDK时,可能会注意到(预期但未阻塞)异常,这与检索应用程序ID有关。
显然,“预期异常”并不理想,但有时底层平台API的设计几乎没有选择。