Index: trunk/modules/text/src/main/java/java/text/NumberFormat.java =================================================================== --- trunk/modules/text/src/main/java/java/text/NumberFormat.java (revision 426349) +++ trunk/modules/text/src/main/java/java/text/NumberFormat.java (working copy) @@ -455,7 +455,11 @@ * @return the Number resulting from the parse, or null if there is an error */ public final Object parseObject(String string, ParsePosition position) { - return parse(string, position); + try { + return parse(string, position); + } catch (Exception e) { + return null; + } } /** Index: trunk/modules/text/src/test/java/org/apache/harmony/text/tests/java/text/NumberFormatTest.java =================================================================== --- trunk/modules/text/src/test/java/org/apache/harmony/text/tests/java/text/NumberFormatTest.java (revision 426349) +++ trunk/modules/text/src/test/java/org/apache/harmony/text/tests/java/text/NumberFormatTest.java (working copy) @@ -19,6 +19,7 @@ import java.text.FieldPosition; import java.text.NumberFormat; import java.text.ParseException; +import java.text.ParsePosition; import java.util.Currency; import java.util.Locale; @@ -216,7 +217,14 @@ } catch (UnsupportedOperationException e) { } } - + /** + * @tests java.text.NumberFormat#parseObject(java.lang.String, java.text.ParsePosition) + */ + public void test_parseObjectLjava_lang_StringLjava_text_ParsePosition() { + // regression test for HARMONY-1003 + assertNull(NumberFormat.getInstance().parseObject("0", new ParsePosition(-1))); + } + protected void setUp() { }