Bug 4540: Yang parser exceptions should follow consistent path
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / ValueStatementImpl.java
index f9fbff197af52d12bd03622cf36cdbce5cc86a6b..6f78b55963c722ae673cab195acddfb862b79401 100644 (file)
@@ -14,6 +14,7 @@ import org.opendaylight.yangtools.yang.parser.spi.SubstatementValidator;
 import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
+import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.ValueEffectiveStatementImpl;
 
 public class ValueStatementImpl extends AbstractDeclaredStatement<Integer> implements ValueStatement {
@@ -38,10 +39,9 @@ public class ValueStatementImpl extends AbstractDeclaredStatement<Integer> imple
             try {
                 valueNum = Integer.parseInt(value);
             } catch (NumberFormatException e) {
-                throw new IllegalArgumentException(
-                        String.format(
-                                "%s is not valid value statement integer argument in a range of -2147483648..2147483647",
-                                value), e);
+                throw new SourceException(String.format(
+                        "%s is not valid value statement integer argument in a range of -2147483648..2147483647", value),
+                        ctx.getStatementSourceReference(), e);
             }
 
             return valueNum;