我有一个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不会取消取消令牌。这是空的好吗?用户取消操作完全没问题。
感谢。
答案 0 :(得分:2)
通常,您应该抓住OperationCanceledException
而不是TaskCanceledException
。除此之外,你的方法看起来很好;处理异常的正确方法是捕获它。