I am writing an application in C# that requires me to create an Array
object on the fly from some dimensions the user passes in. The Array.CreateInstance()
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 MessageBox.Show()
and a message tailored to the exceptional circumstance. What I do not want to do is catch the general Exception
type, because it is a best practice to not do so. I would try catching ArgumentException
or something more specific, but the only common superclass to all of the exceptions is Exception
.
Bottom Line: 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.
try
{
data = Array.CreateInstance(TypeHelper.StringToType(cbDataType.SelectedItem.ToString()), dimensions);
}
catch (OutOfMemoryException) { }
catch (NullReferenceException) { }
catch (NotSupportedException) { }
catch (ArgumentNullException) { }
catch (ArgumentOutOfRangeException) { }
catch (ArgumentException) { }