Web 请求中的“try-catch”问题 vb.net

问题描述

我正在发出一个大部分时间都能成功完成的网络请求(target$ 是一个 URL)。但有时我的代码会抛出一个有效的异常,404 not found,如果 URL target$ 不存在,并且执行停止。代码

Sub scrape(target$)
    Dim request As WebRequest = WebRequest.Create(target$)
    Dim response As WebResponse = request.GetResponse()
    Dim dataStream As Stream = response.GetResponseStream()
    ' Open the stream using a StreamReader for easy access.
    Dim reader As New StreamReader(dataStream)
    ' Read the content.
    Dim responseFromServer As String = reader.ReadToEnd()
    txtResponse.Text = ""
    txtResponse.Text = responseFromServer
    ' Clean up the streams and the response.
    reader.Close()
    response.Close()

结束子

异常,如果抛出,发生在第二行,“Dim response...”。所以我尝试添加一个“try-catch”,如图所示。

Sub scrape(target$)
    Dim request As WebRequest = WebRequest.Create(target$)
    Dim response As WebResponse = request.GetResponse()
    Try
        Dim dataStream As Stream = response.GetResponseStream()
    Catch
        exflag = True
    End Try
    ' Open the stream using a StreamReader for easy access.
    Dim reader As New StreamReader(dataStream)
    ' Read the content.
    Dim responseFromServer As String = reader.ReadToEnd()
    txtResponse.Text = ""
    txtResponse.Text = responseFromServer
    ' Clean up the streams and the response.
    reader.Close()
    response.Close()

结束子

但是现在当我尝试编译代码时,VisualStudio 告诉我“未声明数据流”并且编译失败。

我做错了什么以及如何在抛出异常时捕获异常?

谢谢...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)