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 的设计几乎没有选择余地。