试图在一个ConnectAsync中做一个简单的BackgroundTask。它抛出一个灾难性的异常(0x8000FFFF),当打开“所有异常的中断”时可以看到这个异常。我甚至从我的来源滚动到已知的好分支,但它仍然这样做。
我的代码:
IBandClient client = null;
try
{
client = await BandClientManager.Instance.ConnectAsync(band);
}
catch { }
例外:
System.Exception发生消息:抛出的异常: Microsoft.Band.Store.dll中的“System.Exception”附加信息:灾难性故障(来自HRESULT: 0x8000FFFF (E_UNEXPECTED)的异常)
在v20217中,DLL名称是Microsoft.Band.Store_UAP.dll
。
奇怪的是,即使在抛出这个异常之后,client
仍然会被一个IBandClient
对象填充。
似乎我们可以在抛出异常方面做得更好(或者最好不要抛出异常)。
发布于 2016-03-03 10:18:58
波段SDK文档 (第9.3.2节)指出,在与检索应用程序ID有关的通用应用程序的后台任务中使用SDK时,可能会注意到(预期的但不是阻塞的)异常。
显然,“预期异常”并不理想,但有时底层平台API的设计几乎没有选择余地。
https://stackoverflow.com/questions/35776903
复制