【问题标题】:WebClient exceptions not caught未捕获 WebClient 异常
【发布时间】:2016-03-29 21:21:22
【问题描述】:

我正在尝试从

中捕获异常
try
{
    WebClient client = new WebClient();
    client.DownloadData(new Uri("http://someaddress.com/file.png"))
}
catch (WebException we)
{
    Log.Warning(we.Message);
}
catch (SocketException se)
{
    Log.Warning(se.Message);
}
catch (Exception e)
{
    Log.Warning(e.ToString());
}

DownloadData 抛出异常,但未捕获异常。我试图捕捉异常,但它不起作用。我做错了什么?

【问题讨论】:

  • 抛出了什么异常?
  • 您可能需要放下更多代码。
  • 请提供完整代码并指出抛出异常的行。
  • 考虑将Log.Warning 更改为Console.Write 或消息框,这样您就知道它不是您的日志命令的问题。
  • 您没有收到任何错误,因为有一个站点 someaddress.com 为每个请求返回 200 (OK)

标签: c# .net exception webclient


【解决方案1】:

问题在于 DownloadData 不会抛出 WebException。它总是会从请求中返回数据,即使状态码不是 200。

比较documentation for DownloadStringDownloadData

【讨论】:

    【解决方案2】:

    异常设置有问题。 但这并不能解决Visual Studio写入输出的问题

    抛出异常:System.dll 中的“System.Net.WebException”

    多次抛出异常

    【讨论】:

      猜你喜欢
      • 2010-09-28
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多