commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles (JIRA)" <>
Subject [jira] Commented: (MATH-542) Allow the addition of multiple messages to the exceptions generated by CM
Date Sun, 06 Mar 2011 15:33:25 GMT


Gilles commented on MATH-542:

Do you really want to allow "String" keys?
My understanding was that we would allow the addition of "Localizable"s. This is a direct
adaptation of the concept but satisfying the requirement of CM.

The "getValue" is not useful for CM because the intended goal is the display of the message
(as a localized string). We don't need the added flexibility of retrieving unprocessed patterns.
Those should remain implementation details.

The map feature enhances the stack trace by indeed allowing to provide additional messages
when the exception travels up the stack. Similarly to the stack trace, this info should remain
ordered with respect to the call chain, resulting in a final message such as
original cause: more info added: some more info added by an intermediate call: last message
added before display
[The ": " is the separator inserted between each bit of info added through "addMessage".]

> Allow the addition of multiple messages to the exceptions generated by CM
> -------------------------------------------------------------------------
>                 Key: MATH-542
>                 URL:
>             Project: Commons Math
>          Issue Type: New Feature
>            Reporter: Gilles
>            Assignee: Gilles
>            Priority: Minor
>              Labels: api-change
>             Fix For: 3.0
> Borrowing on the idea of "ExceptionContext" implemented in [Lang], "MathRuntimeException"
(base class of all exceptions generated from CM) will be enhanced so that an unlimited number
of (localized) messages can be added to an exception object.
> The "MathThrowable" interface (implemented by "MathRuntimeException") will contain the
following new method:
> {code}
> /**
>   * Sets a message.
>   *
>   * @param pattern Message pattern.
>   * @param arguments Values for replacing the placeholders in the message
>   * pattern.
>   */
>   public void addMessage(Localizable pattern,
>                          Object ... arguments);
> {code}

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message