[
https://issues.apache.org/jira/browse/MATH-361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12879298#action_12879298
]
Gilles commented on MATH-361:
-----------------------------
Just to make things real clear:
* I utterly dislike the current way of using a factory to generate exception
because:
** it creates a "tasteless" (as opposed to "stateful") exception,
** it is ugly (from the developer's point of view)
** it is of very limited use (from the user's point of view) since, e.g. as I
had outlined in the original proposal, it makes it impossible for a high-level
application, using CM as a component, to customize the problem report to the
user,
** it looks like a poor man's logging.
* 249 exception messages is much too much. I'm fairly sure that we can figure
out a significantly smaller set of exceptions that will encompass the vast
majority of them. Adding a constructor such as:
{code}
public OutOfRangeException(String info, double x, double xMin, double XMax) {
// ...
}
{code}
would take care of specifying the name of the wrong argument (if there are
several of them and there could be a risk of confusion).
Currently, most of the time, the message just duplicates part of the Javadoc;
that's why there are so many of them. The exception message should not be a
manual! E.g. in the case of violation of preconditions, it is enough that the
user is reminded to "RTFM" :-).
As a consequence, I'd like:
# to deprecate the exception factory.
# to create an "exception" package that will contain all exception handling
code.
# to deprecate all exceptions not located in the "exception" package.
# to review the over-use of checked exception, following up on the
[MATH-195|https://issues.apache.org/jira/browse/MATH-195] issue. IMO, this
review should be based on the simple rules explained in J. Bloch's book
_"Effective Java"_.
[Of course these are incompatible changes and would be postponed until work on
release 3.0 is started.]
> Localization and Error Handling
> -------------------------------
>
> Key: MATH-361
> URL: https://issues.apache.org/jira/browse/MATH-361
> Project: Commons Math
> Issue Type: Improvement
> Affects Versions: 2.1
> Reporter: Gilles
> Priority: Minor
> Attachments: l10n.tar.gz, res.tar.gz
>
>
> This proposal aims at easing the handling of error during algorithms
> development, and also enhancing the flexibility of the error reporting
> (provide meaningful exception classes and run-time selection of the
> localization formatting).
> More details at
> [http://www.mail-archive.com/[email protected]/msg14570.html]
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.