【问题标题】:Catastrophic Exception on ConnectAsync w/in BackgroundTask [UWP]带有 BackgroundTask [UWP] 的 ConnectAsync 上的灾难性异常
【发布时间】:2016-03-04 03:11:32
【问题描述】:

尝试在 BackgroundTask 中执行简单的 ConnectAsync。 它会抛出一个灾难性异常 (0x8000FFFF),当“中断所有异常”打开时可以看到该异常。我什至通过我的来源滚动到已知的良好分支,它仍然这样做。

我的代码:

IBandClient client = null;
try
{
    client = await BandClientManager.Instance.ConnectAsync(band);
}
catch { }

例外:

发生系统异常 消息:抛出异常:Microsoft.Band.Store.dll 中的“System.Exception” 附加信息:灾难性故障(HRESULT 异常:0x8000FFFF (E_UNEXPECTED))

在 v20217 中,DLL 名称为 Microsoft.Band.Store_UAP.dll

奇怪的是,即使在抛出这个异常之后,client 仍然会被 IBandClient 对象填充。

似乎我们可以在抛出异常方面做得更好(或者更好但不抛出异常)。

【问题讨论】:

    标签: win-universal-app microsoft-band


    【解决方案1】:

    Band SDK documentation(第 9.3.2 节)表示在通用应用程序的后台任务中使用 SDK 时,可能会注意到与检索应用程序 ID 相关的(预期但非阻塞)异常。

    显然,“预期异常”并不理想,但有时底层平台 API 的设计几乎没有选择余地。

    【讨论】:

    • 好消息。我没有对背景平铺事件做任何事情,所以我还没有理由阅读该部分。也许我们应该把这个警告加入到 ConnectAsync 的文档中?
    猜你喜欢
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 2016-03-21
    • 2016-07-06
    • 2014-07-18
    • 1970-01-01
    • 2011-10-01
    • 2019-02-19
    相关资源
    最近更新 更多