【问题标题】:File.Move Causing a TagetInvocationException?File.Move 导致 TargetInvocationException?
【发布时间】:2013-02-11 07:55:00
【问题描述】:

我有一个程序,在下载一些文件后,将它们移动到 C 盘。但是,当我调用 file.move 时,出现以下异常:

在 mscorlib.dll 中发生了“System.Reflection.TargetInvocationException”类型的第一次机会异常

附加信息:调用的目标已抛出异常。

如果有这个异常的处理程序,程序可以安全地继续。

我知道当您实际上没有目录但我有目录时可能会发生这种情况。它实际上确实正确移动了文件,它只是抛出了一个错误。我找不到这方面的任何信息?我应该试着抓住这个假错误还是应该弄清楚发生了什么?谢谢!

【问题讨论】:

  • 显示内部异常。我假设您没有 Dispose 保留文件处理程序的对象(即 WebClient)。
  • 确实这就是我正在做的。它根本不是 file.move。非常感谢!
  • @user1767270:TIE 通常是特定于反射的,而 File.Move 是相应 Win32 例程之上的包装器。显示导致异常或内部异常的代码示例。

标签: c# winforms exception file-io exception-handling


【解决方案1】:

File.Move 不会引发这种类型的异常。或者至少这就是 MSDN 上的例外列表所说的 http://msdn.microsoft.com/en-us/library/system.io.file.move.aspx

所以这可能是由其他原因引起的,请检查内部异常并进一步调查。

【讨论】:

  • 这不是回答,只是评论。
  • @HamletHakobyan 好吧,这是一个部分答案,因为它是一个部分记录的问题。我试图为他指出正确的方向,那就是不要再看 File.Move
  • 您可以通过发表评论来做到这一点。
  • 确实它根本不是 file.move。我从来没有想过要查看 msdn 来查看异常是否有效、好主意以及我将添加到我的武器库中的东西
【解决方案2】:

查看 InnerException 了解此异常,您就会知道原因。

【讨论】:

  • 这不是回答,只是评论。
  • 我发现我的问题不在于 file.move,而在于处理客户端本身。我如何看到 InnerException?当弹出窗口出现如上所述的错误时,这就是我所看到的。我去哪里看这个?谢谢!
猜你喜欢
  • 2016-01-06
  • 2012-10-20
  • 1970-01-01
  • 2011-10-25
  • 2011-02-13
  • 1970-01-01
  • 2011-04-21
  • 2016-01-11
  • 2014-08-17
相关资源
最近更新 更多