title: "FormatException" not thrown when ToInt32() method has invalid argument type
body: <p>1)</p>
  
  <pre><code>class Program
  {
      static void Main(string[] args)
      {
          int a;
          a = Convert.ToInt32( "a" );
          Console.Write(a);
      }
  }
  </code></pre>
  
  <p>I get <code>FormatException</code> with message: <code>Input string was not in a correct format</code>. and this is quite understood.</p>
  
  <p>2)</p>
  
  <pre><code>class Program
  {
      static void Main(string[] args)
      {
          int a;
          a = Convert.ToInt32( Console.Read() );
          Console.Write(a);
      }
  }
  </code></pre>
  
  <p>In second case, I can type any characters, for example <code>abc</code> and it displayed in console.</p>
  
  <p>Question: Why doesn't throw <code>FormatException</code> in second case and why it works successfully with non <code>int</code> characters? </p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>with <code>Console.ReadLine()</code> method, which returns <code>string</code> type, also not trown <code>FormatException</code> and printed any character in console successfully.</p>
  
  <pre><code>class Program
  {
      static void Main(string[] args)
      {
          int a;
          a = Convert.ToInt32(Console.ReadLine());
          Console.Write(a);
      }
  }
  </code></pre>