【问题标题】:How can I use "If" for download couldn't completed or download canceled VB.NET如何使用“如果”进行下载无法完成或下载取消 VB.NET
【发布时间】:2014-02-27 12:36:56
【问题描述】:

例如,

My.Computer.Network.DownloadFile("https://dl.dropboxusercontent.com/u/71476794/Afterformatresources/vlc-2.1.2-win32.exe", "c:\Downloads\vlc.exe", "", "", True, 90, True, FileIO.UICancelOption.DoNothing)
    Process.Start("C:\Downloads\vlc.exe")

如果由于 NSIS 错误下载无法完成或取消表单用户,我想停用“process.start”命令。

【问题讨论】:

  • 如果你使用FileIO.UICancelOption.DoNothing,取消时什么也不会发生,通常如果下载失败你会得到一个TimeoutException(如果你设置了超时)或取消结果
  • 它不适用于某些“.exe”文件。我将为 NSIS 错误添加一张新图片。

标签: vb.net download process.start


【解决方案1】:

使用 Try Catch

Try
    My.Computer.Network.DownloadFile("https://dl.dropboxusercontent.com/u/71476794/Afterformatresources/vlc-2.1.2-win32.exe", "c:\Downloads\vlc.exe", "", "", True, 90, True, FileIO.UICancelOption.DoNothing)
    Process.Start("C:\Downloads\vlc.exe")

Catch ex as Exception
    'Exception caught. ex.message will contain some information
    'Handle error with messagebox or other means

Finally
    'Optional for code that will run whether Try was successful or not

End Try

【讨论】:

  • 不客气...在可能出现异常的情况下使用 Try Catch 是一种很好的做法。请注意,如果您没有使用“Finally”子句,请将其从 try catch 中完全删除。
【解决方案2】:

有一个工作示例。我认为如果有人搜索这个问题会很有帮助。

 Private Sub btnvlc_Click(sender As Object, e As EventArgs) Handles btnvlc.Click
    Try
        My.Computer.Network.DownloadFile("https://dl.dropboxusercontent.com/u/71476794/Afterformatresources/vlc-2.1.2-win32.exe", "c:\Downloads\vlc.exe", "", "", True, 90, True, FileIO.UICancelOption.ThrowException)
        Process.Start("C:\Downloads\vlc.exe")
    Catch ex As Exception
        MsgBox("Download expection occurred:" & vbCrLf & ex.Message)
    End Try
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    相关资源
    最近更新 更多