title: Efficient exception handling techniques
body: <p>I am writing an application in C# that requires me to create an <code>Array</code> object on the fly from some dimensions the user passes in. The <code>Array.CreateInstance()</code> method can throw (by last count) 6 different exceptions that I would want to handle. For each exception I would want to inform the user by a simple <code>MessageBox.Show()</code> and a message tailored to the exceptional circumstance. What I do not want to do is catch the general <code>Exception</code> type, because it is a best practice to not do so. I would try catching <code>ArgumentException</code> or something more specific, but the only common superclass to all of the exceptions is <code>Exception</code>.</p>
  
  <p><strong>Bottom Line</strong>:  I am trying to figure out the best way to handle having so many different exceptions, and what would be an efficient and, more importantly, maintainable solution.</p>
  
  <pre><code>try
  {
      data = Array.CreateInstance(TypeHelper.StringToType(cbDataType.SelectedItem.ToString()), dimensions);
  }
  catch (OutOfMemoryException) { }
  catch (NullReferenceException) { }
  catch (NotSupportedException) { }
  catch (ArgumentNullException) { }
  catch (ArgumentOutOfRangeException) { }
  catch (ArgumentException) { }
  </code></pre>