It seems there is a certain amount of agreement that exception messages should contain useful detailsexception messages should contain useful details.
Why is it that many common exceptions from system components do not contain useful details?
A few examples:
- .NET
List
index accessArgumentOutOfRangeException
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: a majority of exceptions do actually provide useful details?