On 02/26/09 20:40, Frank Schönheit - Sun Microsystems Germany wrote:
this is not true for the
majority of exception instances (where the exception message is
something that can help a knowing person track down the problem, but not
something that is meaningful for the average end user---for example, it
is always in English).
Which I'd consider a bug. If I run an arbitrary macro in Basic which
uses the UNO API, any exception which is caught there is reported to the
end user. Speaking techno-babble which is not meaningful (I tend to
think that Basic developers still are allowed to be, though not
necessarily are, average end users) is a usability issue, in my opinion.
If Basic does not allow to handle UNO exceptions programatically, this
would be a shortcoming of the language or of its UNO binding. It should
not, however, be used to create an argument for end-user oriented
exception messages.
For one, end-user oriented exception messages simply do not work in
general (think about the category of "unchecked" or "runtime" or
"programmer made a coding mistake" exceptions---what use is it for the
end user to see a localized "Index i=7 was out of bounds of array
xyzStrangeList (ranging from 0 to 3)"?). For another, common practice
*is* to put developer-oriented data into exception messages.
For randomly picked evidence of the latter take, for example, a quote
from Item 45 of Effective Java: "The string representation of an
exception should not be confused with a user-level error message, which
must be intelligible to end users. Unlike a user-level error message,
it is primarily for the benefit of programmers or field
service-personnel for use when analyzing a failure. Therefore
information content is far more important than intelligibility." (Of
course, there is nothing wrong with questioning common wisdom. I just
personally think that common wisdom is indeed right here.)
-Stephan
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]