代码之家  ›  专栏  ›  技术社区  ›  Johan Danforth

在WebRequest呼叫中,我应该注意哪些例外情况?

  •  1
  • Johan Danforth  · 技术社区  · 14 年前

    我正在开发一个小而重要的批处理应用程序,它有一个步骤可以从一个我无法控制的远程网站下载图片。这很简单,我已经让它运行起来了,但是我想要一些关于错误处理的输入。

    远程服务器并不总是请求映像,因此实际上找不到404是正确的,但捕获所有其他通信错误(如超时和连接错误)是至关重要的,以便将其放入重试队列。我很想得到关于异常处理的建议,有什么特别需要我考虑的吗?我应该筛选其他异常类型吗?

    try 
    {
        // webrequest.getresponse(), read file and return image
    }
    catch (WebException webEx) 
    {
        // check the WebException/http status code and act on certain errors
        // if 404 image/file not found - ok, just return
        // other error - log and put on retry queue
    }
    catch (Exception ex) 
    {
        // some other major failure, log and alert
    }
    
    2 回复  |  直到 14 年前
        1
  •  1
  •   Andrew Hare    14 年前

    请看 HttpWebRequest.GetResponse . 文档列出了这些潜在的异常:

    • InvalidOpertationException
    • ProtocolViolationException
    • NotSupportedException
    • WebException
        2
  •  0
  •   Community Jaime Torres    7 年前

    this . HttpWebRequest 被所谓的“烦人的例外”所困扰,所以你必须小心它们。