title: How does string.Format handle null values?
body: <p>In the following code below, why do the two <code>string.Format</code> calls not behave the same way? In the first one, no exception is thrown, but in the second one an <code>ArgumentNullException</code> is thrown.</p>
  
  <pre><code>static void Main(string[] args)
  {
      Exception e = null;
      string msgOne = string.Format("An exception occurred: {0}", e);
      string msgTwo = string.Format("Another exception occurred: {0}", null);
  }
  </code></pre>
  
  <p>Could someone please help me understand the difference between the two?</p>