Here’s the exception I received today:
System.Reflection.ReflectionTypeLoadException. Unable to load one or more of the
requested types. Retrieve the LoaderExceptions property for more information.
Isn’t it lovely? Do the authors think I have a little leprechaun sitting on the user machine and waiting for my command to retrieve the pot of gold the LoaderException
property?
And if not, what do they expect my handling for oddball exceptions to be like? Perhaps something like:
catch (StrangeExceptionVarietyOne ex)
{
Log(ex.ToString());
Log(ex.FunkyPropertyOne);
}
catch (TotallyObscuredExceptionTwo ex)
{
Log(ex.ToString());
Log(ex.TotalObscurerAdditionalDataCollection);
}
catch (ReflectionTypeLoadException ex)
{
Log(ex.ToString());
foreach (var loaderEx in ex.LoaderExceptions) Log(loaderEx.ToString());
}
...
Not going to happen. A good exception should have everything in its ToString()
. As in “for debugging purposes, AggregateException
‘s ToString
implementation outputs a string
rendering all the contained exceptions“. This is a good exception. This is an exception I like to work with. Why can’t all exceptions be like that?
CodeProject
This article was originally posted at
http://www.ikriv.com/blog?p=1129