title: In what circumstances will OleDbDataReader.Read() throw?
body: <p>What kind of things would make OleDbDataReader.Read() throw an exception after OleDbCommand.ExecuteReader() has run successfully?</p>
  
  <pre><code>    public void ReadSomeData(OleDbDataReader reader)
      {
          try
          {
              while (reader.Read())
              {
                  try
                  {
                      // Do something cool with my precious data
                  }
                  catch (Exception innerException)
                  {
                      // I know what kind of errors I'll catch here
                  }
              }
          }
          catch (Exception outerException)
          {
              // What kind of errors would I expect to catch here?
          }
      }
  </code></pre>
  
  <p>Is there anything, other than calling reader.Close(), which might cause reader.Read() to run successfully the first time through this loop but throw on a later iteration?</p>
  
  <p>(As an experiment, I tried stopping the database via the right click menu in the Object Explorer pane of SQL Management Studio after the call to ExecuteReader() and that didn't seem to stop Read() from working)</p>