如何处理TaskCanceledException?

时间:2016-01-14 06:25:06

标签: exception-handling xamarin task

我有一个xamarin应用程序,它使用插件进行媒体访问以选择或拍照。

在我的接力命令中,我有这个:

try
{
    var mediaFile =
        await
            _mediaPicker.SelectPhotoAsync(new CameraMediaStorageOptions());

    using (var memoryStream = new MemoryStream())
    {
        mediaFile.Source.CopyTo(memoryStream);
        ...do image stuff here
    }
}
catch (TaskCanceledException taskCanceled)
{
    Debug.WriteLine(taskCanceled.Message);
}

是否有更好的方法来处理任务取消异常? SelectPhotoAsync不会取消取消令牌。这是空的好吗?用户取消操作完全没问题。

感谢。

1 个答案:

答案 0 :(得分:2)

通常,您应该抓住OperationCanceledException而不是TaskCanceledException。除此之外,你的方法看起来很好;处理异常的正确方法是捕获它。