Harmony
  1. Harmony
  2. HARMONY-489

new Double("1E+-20") should throw exception but doesn't

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Classlib
    • Labels:
      None

      Description

      The statement "new Double("1E+20");" should throw a NumberFormatException, but the parser contains a special case which causes it to skip the '+' and then accept the valid string '-20'. Unfortunately removing the special case wouldn't help because '1E+20' is valid but '+20' fails parseInt. Therefore I think another check is required to prevent the '' being accepted.

      I also note that the RI throws NumberFormatException containing the original string where as Harmony would propogate the exception thrown by parseInt which would contain the exponent substring only. I'll also correct this in my patch.

        Activity

        Hide
        Mark Hindess added a comment -

        Patch with test and fix.

        Show
        Mark Hindess added a comment - Patch with test and fix.
        Hide
        Mark Hindess added a comment -

        Applied in r414834.

        Show
        Mark Hindess added a comment - Applied in r414834.

          People

          • Assignee:
            Mark Hindess
            Reporter:
            Mark Hindess
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development