C# 在WebRequest调用中我应该注意哪些异常?

C# 在WebRequest调用中我应该注意哪些异常?,c#,.net,exception-handling,C#,.net,Exception Handling,我正在开发一个小而重要的批处理应用程序,其中有一个步骤可以从我无法控制的远程网站下载图像。这是非常简单的,我已经让它工作,但我想一些关于错误处理的输入 远程服务器并不总是请求映像,因此“404未找到”实际上是正常的,但捕获所有其他通信错误(如超时和连接错误)非常重要,以便将其放入重试队列。我很想得到关于异常处理的建议,有什么特别需要我考虑的吗?我应该筛选的任何其他异常类型 try { // webrequest.getresponse(), read file and return i

我正在开发一个小而重要的批处理应用程序,其中有一个步骤可以从我无法控制的远程网站下载图像。这是非常简单的,我已经让它工作,但我想一些关于错误处理的输入

远程服务器并不总是请求映像,因此“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
}
HttpWebRequest
充斥着所谓的“令人烦恼的异常”,因此您必须小心它们。

请参阅
HttpWebRequest
充斥着所谓的“令人烦恼的异常”,因此您必须小心它们。

请参阅。文件中列出了这些潜在的例外情况:

  • invalidoperationexception
  • ProtocolViolationException
  • NotSupportedException
  • WebException
请看。文件中列出了这些潜在的例外情况:

  • invalidoperationexception
  • ProtocolViolationException
  • NotSupportedException
  • WebException