Note: This may be a bit of a rant too, however, there is the question if I am wrongly expecting too much of vendor exception messages.

It seems there is a certain amount of agreement that [exception messages should contain useful details][1].

Why is it that many common exceptions from system components do not contain useful details?

A few examples:

* .NET `List` index access `ArgumentOutOfRangeException` does *not* tell me the index value that was tried and was invalid, nor does it tell me the allowed range.
* Basically all exception messages from the MSVC C++ standard library are utterly useless (in the same vein as above).
* Oracle Exceptions in .NET, telling you (paraphrased) "TABLE OR VIEW not found", but not *which* one.

So, to me it seems that for the most part exception messages *do not* contain sufficient details to be useful. Are my expectations out of line? Am I using Exceptions wrong that I even notice this? Or maybe my impression is wrong an a majority of exceptions *do* actually provide useful details?

  [1]: http://programmers.stackexchange.com/questions/29433/how-to-write-a-good-exception-message