Yeah, I'd probably redo it with an actual condition. That way, intent looks clear and is not dependent on internal code to `break`, `continue`, etc.

    var retryCount = 0;
    var success = false;
    while(!success && retryCount < 3)
    {
       try
       {
          AttemptToConnect();
          success = true;
       }
       catch(TimeoutException tex)
       {
          retryCount++;

          if (retryCount == 3)
          {
              throw; //or handle error and break/return
          }
       }
    }