首页 > 解决方案 > 从 USB 复制文件并且 USB 断开连接时如何捕获错误

问题描述

我面临从便携式设备复制文件的问题。我的应用程序应该为消防员运行自动复制和备份。当我插入便携式设备时,应用程序应该识别该操作并开始复制。问题是当我在复制过程中断开设备时。我在用

var t = Task.Run(() => { 
      System.IO.File.Copy(s, destFileBU, overwrite: true); 
});
t.Wait();

我已经在 中尝试了所有这些代码try catch method,但是在 Visual Studio 中,我总是遇到异常并导致应用程序崩溃。

任务运行有问题吗?为什么 try catch 方法没有帮助?

谢谢你的帮助。

标签: c#filesystems

解决方案


您可以使用tryandcatch语句来捕捉期望值。

也就像@DavidG 说的那样,不要使用Task.Wait()而是你await的任务

所以这可以是你的代码:

  var t = Task.Run(() =>
    {
        try
        {
              System.IO.File.Copy(s, destFileBU, overwrite: true);
        }
    catch
        {
              SetBalloonTipDisconnected();
              fail = true;
        }
    });

访问此处了解有关trycatch声明的更多信息

尝试捕获语句信息


推荐阅读