ConnectAsync w/in BackgroundTask [UWP] 上的灾难性异常
Catastrophic Exception on ConnectAsync w/in BackgroundTask [UWP]
正在尝试在 BackgroundTask 中执行简单的 ConnectAsync。
它抛出灾难性异常 (0x8000FFFF),当 "Break on all Exceptions" 打开时可以看到。我什至通过我的消息来源滚动到已知的好分支,它仍然这样做。
我的代码:
IBandClient client = null;
try
{
client = await BandClientManager.Instance.ConnectAsync(band);
}
catch { }
异常:
System.Exception occurred
Message: Exception thrown: 'System.Exception' in Microsoft.Band.Store.dll
Additional information: Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
在 v20217 中,DLL 名称是 Microsoft.Band.Store_UAP.dll
奇怪的是,即使在抛出这个异常之后,client
仍然填充了一个 IBandClient
对象。
似乎我们可以在抛出异常方面做得更好(或者更好但不抛出异常)。
Band SDK documentation(第 9.3.2 节)表示在通用应用程序的后台任务中使用 SDK 时可能会注意到(预期但未阻止)异常,与应用程序 ID 的检索有关.
显然"expected exceptions"并不理想,但有时底层平台 API 的设计几乎没有选择余地。
正在尝试在 BackgroundTask 中执行简单的 ConnectAsync。 它抛出灾难性异常 (0x8000FFFF),当 "Break on all Exceptions" 打开时可以看到。我什至通过我的消息来源滚动到已知的好分支,它仍然这样做。
我的代码:
IBandClient client = null;
try
{
client = await BandClientManager.Instance.ConnectAsync(band);
}
catch { }
异常:
System.Exception occurred Message: Exception thrown: 'System.Exception' in Microsoft.Band.Store.dll Additional information: Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
在 v20217 中,DLL 名称是 Microsoft.Band.Store_UAP.dll
奇怪的是,即使在抛出这个异常之后,client
仍然填充了一个 IBandClient
对象。
似乎我们可以在抛出异常方面做得更好(或者更好但不抛出异常)。
Band SDK documentation(第 9.3.2 节)表示在通用应用程序的后台任务中使用 SDK 时可能会注意到(预期但未阻止)异常,与应用程序 ID 的检索有关.
显然"expected exceptions"并不理想,但有时底层平台 API 的设计几乎没有选择余地。