调试时,我会得到以下错误。
发生了未处理的异常 无法完成操作,因为在此路径"C:\32bit\abc.dll“中已经存在文件
我怎样才能解决这个问题?
Imports System
Imports System.IO
Public Class Form1
Private Sub ReactorButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReactorButton1.Click
If ReactorComboBox1.SelectedItem = "Some Program" Then
My.Computer.Network.DownloadFile _
("http://somesite/test/abc.dll", _
"C:\32bit\abc.dll", True, 500)
System.IO.File.Move("C:\32bit\abc.dll" "C:\Program Files\Some Program\abc.dll")
My.Computer.Network.DownloadFile _
("http://www.somerandomsite/test1/abcd _
"C:\64bit\abcd.dll", True, 500)
System.IO.File.Move("C:\64bit\abcd.dll… "C:\Program File (x86)\Some Other Program\abcd.dll")
End If
End Sub我也试过
Try
Catch ex As Exception
System.IO.File.Delete("C:\32bit\abc.dll")
End Try
Try
Catch ex As Exception
My.Computer.Network.DownloadFile _
("http://somesite.com/folder/32bit/abc.dll", _
"C:\32bit\abc.dll", True, 500)
End Try
System.IO.File.Copy("C:\32bit\abc.dll", "C:\Program Files (x86)\A Program\Sub Folder\abc.dll")但我仍然得到相同的未处理异常错误。
发布于 2012-12-20 23:17:44
这是因为文件存在。您需要在下载之前删除它(您的版本删除在错误的地方,应该在尝试,而不是捕捉)
检查http://msdn.microsoft.com/en-us/library/ack30t8y%28v=vs.90%29.aspx。您可以在DownloadFile中有一个覆盖标志
覆盖设置为False,并且目标文件已经存在(IOException)。
发布于 2012-12-20 23:25:20
回顾http://msdn.microsoft.com/en-us/library/ack30t8y%28v=vs.90%29.aspx (MSDN)。
FYI,在catch块中运行代码是不好的编码实践。catch块通常是用来真正捕获该请求的。
您可能遇到的问题是,在文件被完全下载之前,您正在尝试移动该文件,因此您将得到异常。
https://stackoverflow.com/questions/13981975
复制相似问题