Continuing in the series on sharing some of the information in the .NET Framework Standard Library Annotated Reference Vol 1 here are some of the annotations on the System.ArrayTypeMismatchException .   Oh, and come by my book signing tomorrow (Thursday 12:30-1:30) and argue… I mean... discuss this an other annotations… ;-)

  

BA It is interesting to look at the exceptions that are only thrown by the runtime, such as ArrayTypeMismatchException, NullReferenceException, and ExecutionEngionException. Even though we did not expect these exceptions to be thrown by user code, we included the standard constructors. We believe that consistency is the overriding principle in this case; therefore, we did not force ourselves to come up with clear scenarios that require these constructors. That said, we do see developers throwing them explicitly in code designed to test exception handling.