title: How can I improve this exception retry scenario?
body: <p>I have a web service method I am calling which is 3rd party and outside of my domain. For some reason every now and again the web service fails with a gateway timeout. Its intermittent and a call to it directly after a failed attempt can succeed. </p>
  
  <p>Now I am left with a coding dilemma, I have code that should do the trick, but the code looks like amateur hour, as you'll see below. </p>
  
  <p>Is this really bad code, or acceptable given the usage? If its not acceptable, how can I improve it? </p>
  
  <p>Please try hard to keep a straight face while looking at it.</p>
  
  <pre><code>try
  {
      MDO = OperationsWebService.MessageDownload(MI);
  }
  catch
  {
      try
      {
          MDO = OperationsWebService.MessageDownload(MI);
      }
      catch
      {
          try
          {
              MDO = OperationsWebService.MessageDownload(MI);
          }
          catch
          {
              try
              {
                  MDO = OperationsWebService.MessageDownload(MI);
              }
              catch 
              {
                  try
                  {
                      MDO = OperationsWebService.MessageDownload(MI);
                  }
                  catch (Exception ex)
                  {
                      // 5 retries, ok now log and deal with the error.
                  }
              }
          }
      }
  }
  </code></pre>