我有一个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不接受取消 token 。可以在这里空捕获吗?用户取消操作非常好。

谢谢。

最佳答案

通常,您应该捕获OperationCanceledException而不是TaskCanceledException。除此之外,您的方法看起来还不错。处理异常的正确方法是捕获它。

关于exception-handling - 如何处理TaskCanceledException?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34782952/

10-10 02:08