Windows runtime BackgroundTaskCompletedEventArgs.CheckResult何时引发异常?

Windows runtime BackgroundTaskCompletedEventArgs.CheckResult何时引发异常?,windows-runtime,windows-store-apps,Windows Runtime,Windows Store Apps,BackgroundTaskCompletedEventArgs.CheckResult的文档说明: 如果后台任务完成事件报告了错误,则引发异常 我曾尝试创建一个后台任务,该任务在其Run方法中引发异常,但当我订阅其Completed事件并在其完成时调用CheckResult时,不会引发异常 CheckResult何时实际抛出异常?它应该完全按照您所描述的那样工作:如果在IBackgroundTask的Run方法中抛出异常,则BackgroundTaskCompletedArguments.Ch

BackgroundTaskCompletedEventArgs.CheckResult的文档说明:

如果后台任务完成事件报告了错误,则引发异常

我曾尝试创建一个后台任务,该任务在其
Run
方法中引发异常,但当我订阅其
Completed
事件并在其完成时调用
CheckResult
时,不会引发异常


CheckResult
何时实际抛出异常?

它应该完全按照您所描述的那样工作:如果在
IBackgroundTask
Run
方法中抛出异常,则
BackgroundTaskCompletedArguments.CheckResult()
方法在您调用它时抛出异常

确保您的后台任务实际运行,并且您的应用程序处于前台,否则将不会引发“已完成”事件

如果您想在工作示例上试用,请下载并对其进行两次修改:

  • Task\ServicingComplete.cs
    add
    throw new Exception()中
    Run
    方法的最后
  • BackgroundTask\ServicingCompleteTask.xaml.cs
    add
    args.CheckResult()中
    OnCompleted
    方法的开头
如果现在运行应用程序,从UI注册任务,并在应用程序位于前台时从Visual Studio的
调试位置
工具栏触发它,您将注意到
CheckResult()
调用将按预期引发异常