You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Gilles <gi...@harfang.homelinux.org> on 2017/01/29 15:27:18 UTC

Re: commons-numbers git commit: NUMBERS-6: Make NumbersArithmeticException [...]

Hi Ray.

The "throws" clauses should be removed from the method declarations.

Thanks,
Gilles


On Sun, 29 Jan 2017 15:16:40 +0000 (UTC), raydecampo@apache.org wrote:
> Repository: commons-numbers
> Updated Branches:
>   refs/heads/fraction__NUMBERS-6 fe27e8ec9 -> dca007d22
>
>
> NUMBERS-6: Make NumbersArithmeticException a private exception within
> ArithmeticUtils and change public API to reflect
> java.lang.ArithmeticException
>
>
> Project: http://git-wip-us.apache.org/repos/asf/commons-numbers/repo
> Commit:
> 
> http://git-wip-us.apache.org/repos/asf/commons-numbers/commit/dca007d2
> Tree: 
> http://git-wip-us.apache.org/repos/asf/commons-numbers/tree/dca007d2
> Diff: 
> http://git-wip-us.apache.org/repos/asf/commons-numbers/diff/dca007d2
>
> Branch: refs/heads/fraction__NUMBERS-6
> Commit: dca007d2226649a55bd3ee512580ca63d7354e56
> Parents: fe27e8e
> Author: Ray DeCampo <ra...@decampo.org>
> Authored: Sun Jan 29 10:14:14 2017 -0500
> Committer: Ray DeCampo <ra...@decampo.org>
> Committed: Sun Jan 29 10:14:14 2017 -0500
>
> 
> ----------------------------------------------------------------------
>  .../commons/numbers/core/ArithmeticUtils.java   | 83 
> ++++++++++++++------
>  .../core/NumbersArithmeticException.java        | 54 -------------
>  .../numbers/core/ArithmeticUtilsTest.java       | 52 ++++++------
>  .../commons/numbers/fraction/Fraction.java      | 12 +--
>  .../numbers/fraction/FractionException.java     |  9 +--
>  .../numbers/fraction/BigFractionTest.java       |  5 +-
>  .../commons/numbers/fraction/FractionTest.java  | 51 ++++++------
>  7 files changed, 117 insertions(+), 149 deletions(-)
> 
> ----------------------------------------------------------------------
>
>
> 
> http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/dca007d2/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ArithmeticUtils.java
> 
> ----------------------------------------------------------------------
> diff --git
> 
> a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ArithmeticUtils.java
> 
> b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ArithmeticUtils.java
> index 4f1d6cf..ee502ca 100644
> ---
> 
> a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ArithmeticUtils.java
> +++
> 
> b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ArithmeticUtils.java
> @@ -17,6 +17,7 @@
>  package org.apache.commons.numbers.core;
>
>  import java.math.BigInteger;
> +import java.text.MessageFormat;
>
>  /**
>   * Some useful, arithmetics related, additions to the built-in 
> functions in
> @@ -36,11 +37,11 @@ public final class ArithmeticUtils {
>       * @param x an addend
>       * @param y an addend
>       * @return the sum {@code x+y}
> -     * @throws NumbersArithmeticException if the result can not be
> represented
> +     * @throws ArithmeticException if the result can not be 
> represented
>       * as an {@code int}.
>       */
>      public static int addAndCheck(int x, int y)
> -            throws NumbersArithmeticException {
> +            throws ArithmeticException {
>          long s = (long)x + (long)y;
>          if (s < Integer.MIN_VALUE || s > Integer.MAX_VALUE) {
>              throw new NumbersArithmeticException("overflow in
> addition: {0} + {1}", x, y);
> @@ -54,9 +55,9 @@ public final class ArithmeticUtils {
>       * @param a an addend
>       * @param b an addend
>       * @return the sum {@code a+b}
> -     * @throws NumbersArithmeticException if the result can not be
> represented as an long
> +     * @throws ArithmeticException if the result can not be
> represented as an long
>       */
> -    public static long addAndCheck(long a, long b) throws
> NumbersArithmeticException {
> +    public static long addAndCheck(long a, long b) throws
> ArithmeticException {
>          return addAndCheck(a, b, "overflow in addition: {0} + {1}");
>      }
>
> @@ -84,10 +85,10 @@ public final class ArithmeticUtils {
>       * @param p Number.
>       * @param q Number.
>       * @return the greatest common divisor (never negative).
> -     * @throws NumbersArithmeticException if the result cannot be
> represented as
> +     * @throws ArithmeticException if the result cannot be 
> represented as
>       * a non-negative {@code int} value.
>       */
> -    public static int gcd(int p, int q) throws 
> NumbersArithmeticException {
> +    public static int gcd(int p, int q) throws ArithmeticException {
>          int a = p;
>          int b = q;
>          if (a == 0 ||
> @@ -223,10 +224,10 @@ public final class ArithmeticUtils {
>       * @param p Number.
>       * @param q Number.
>       * @return the greatest common divisor, never negative.
> -     * @throws NumbersArithmeticException if the result cannot be
> represented as
> +     * @throws ArithmeticException if the result cannot be 
> represented as
>       * a non-negative {@code long} value.
>       */
> -    public static long gcd(final long p, final long q) throws
> NumbersArithmeticException {
> +    public static long gcd(final long p, final long q) throws
> ArithmeticException {
>          long u = p;
>          long v = q;
>          if ((u == 0) || (v == 0)) {
> @@ -302,10 +303,10 @@ public final class ArithmeticUtils {
>       * @param a Number.
>       * @param b Number.
>       * @return the least common multiple, never negative.
> -     * @throws NumbersArithmeticException if the result cannot be
> represented as
> +     * @throws ArithmeticException if the result cannot be 
> represented as
>       * a non-negative {@code int} value.
>       */
> -    public static int lcm(int a, int b) throws 
> NumbersArithmeticException {
> +    public static int lcm(int a, int b) throws ArithmeticException {
>          if (a == 0 || b == 0){
>              return 0;
>          }
> @@ -335,10 +336,10 @@ public final class ArithmeticUtils {
>       * @param a Number.
>       * @param b Number.
>       * @return the least common multiple, never negative.
> -     * @throws NumbersArithmeticException if the result cannot be
> represented
> +     * @throws ArithmeticException if the result cannot be 
> represented
>       * as a non-negative {@code long} value.
>       */
> -    public static long lcm(long a, long b) throws
> NumbersArithmeticException {
> +    public static long lcm(long a, long b) throws 
> ArithmeticException {
>          if (a == 0 || b == 0){
>              return 0;
>          }
> @@ -356,10 +357,10 @@ public final class ArithmeticUtils {
>       * @param x Factor.
>       * @param y Factor.
>       * @return the product {@code x * y}.
> -     * @throws NumbersArithmeticException if the result can not be
> +     * @throws ArithmeticException if the result can not be
>       * represented as an {@code int}.
>       */
> -    public static int mulAndCheck(int x, int y) throws
> NumbersArithmeticException {
> +    public static int mulAndCheck(int x, int y) throws 
> ArithmeticException {
>          long m = ((long)x) * ((long)y);
>          if (m < Integer.MIN_VALUE || m > Integer.MAX_VALUE) {
>              throw new NumbersArithmeticException();
> @@ -373,10 +374,10 @@ public final class ArithmeticUtils {
>       * @param a Factor.
>       * @param b Factor.
>       * @return the product {@code a * b}.
> -     * @throws NumbersArithmeticException if the result can not be
> represented
> +     * @throws ArithmeticException if the result can not be 
> represented
>       * as a {@code long}.
>       */
> -    public static long mulAndCheck(long a, long b) throws
> NumbersArithmeticException {
> +    public static long mulAndCheck(long a, long b) throws
> ArithmeticException {
>          long ret;
>          if (a > b) {
>              // use symmetry to reduce boundary cases
> @@ -426,10 +427,10 @@ public final class ArithmeticUtils {
>       * @param x Minuend.
>       * @param y Subtrahend.
>       * @return the difference {@code x - y}.
> -     * @throws NumbersArithmeticException if the result can not be
> represented
> +     * @throws ArithmeticException if the result can not be 
> represented
>       * as an {@code int}.
>       */
> -    public static int subAndCheck(int x, int y) throws
> NumbersArithmeticException {
> +    public static int subAndCheck(int x, int y) throws 
> ArithmeticException {
>          long s = (long)x - (long)y;
>          if (s < Integer.MIN_VALUE || s > Integer.MAX_VALUE) {
>              throw new NumbersArithmeticException("overflow in
> subtraction: {0} - {1}", x, y);
> @@ -443,10 +444,10 @@ public final class ArithmeticUtils {
>       * @param a Value.
>       * @param b Value.
>       * @return the difference {@code a - b}.
> -     * @throws NumbersArithmeticException if the result can not be
> represented as a
> +     * @throws ArithmeticException if the result can not be 
> represented as a
>       * {@code long}.
>       */
> -    public static long subAndCheck(long a, long b) throws
> NumbersArithmeticException {
> +    public static long subAndCheck(long a, long b) throws
> ArithmeticException {
>          long ret;
>          if (b == Long.MIN_VALUE) {
>              if (a < 0) {
> @@ -468,11 +469,11 @@ public final class ArithmeticUtils {
>       * @param e Exponent (must be positive or zero).
>       * @return \( k^e \)
>       * @throws IllegalArgumentException if {@code e < 0}.
> -     * @throws NumbersArithmeticException if the result would 
> overflow.
> +     * @throws ArithmeticException if the result would overflow.
>       */
>      public static int pow(final int k,
>                            final int e)
> -        throws NumbersArithmeticException {
> +        throws ArithmeticException {
>          if (e < 0) {
>              throw new IllegalArgumentException("negative exponent
> ({" + e + "})");
>          }
> @@ -503,11 +504,11 @@ public final class ArithmeticUtils {
>       * @param e Exponent (must be positive or zero).
>       * @return \( k^e \)
>       * @throws IllegalArgumentException if {@code e < 0}.
> -     * @throws NumbersArithmeticException if the result would 
> overflow.
> +     * @throws ArithmeticException if the result would overflow.
>       */
>      public static long pow(final long k,
>                             final int e)
> -        throws NumbersArithmeticException {
> +        throws ArithmeticException {
>          if (e < 0) {
>              throw new IllegalArgumentException("negative exponent
> ({" + e + "})");
>          }
> @@ -607,10 +608,10 @@ public final class ArithmeticUtils {
>       * @param b Addend.
>       * @param pattern Pattern to use for any thrown exception.
>       * @return the sum {@code a + b}.
> -     * @throws NumbersArithmeticException if the result cannot be
> represented
> +     * @throws ArithmeticException if the result cannot be 
> represented
>       * as a {@code long}.
>       */
> -     private static long addAndCheck(long a, long b, String message)
> throws NumbersArithmeticException {
> +     private static long addAndCheck(long a, long b, String message)
> throws ArithmeticException {
>           final long result = a + b;
>           if (!((a ^ b) < 0 || (a ^ result) >= 0)) {
>               throw new NumbersArithmeticException(message, a, b);
> @@ -750,4 +751,34 @@ public final class ArithmeticUtils {
>          return dividend >= 0L || dividend < divisor ? 0L : 1L;
>      }
>
> +    private static class NumbersArithmeticException extends
> ArithmeticException {
> +        /** Serializable version Id. */
> +        private static final long serialVersionUID = 
> -6024911025449780474L;
> +
> +        private final Object[] formatArguments;
> +
> +        /**
> +         * Default constructor.
> +         */
> +        public NumbersArithmeticException() {
> +            this("arithmetic exception");
> +        }
> +
> +        /**
> +         * Constructor with a specific message.
> +         *
> +         * @param message Message pattern providing the specific 
> context of
> +         * the error.
> +         * @param args Arguments.
> +         */
> +        public NumbersArithmeticException(String message, Object ... 
> args) {
> +            super(message);
> +            this.formatArguments = args;
> +        }
> +
> +        @Override
> +        public String getMessage() {
> +            return MessageFormat.format(super.getMessage(),
> formatArguments);
> +        }
> +    }
>  }
>
> 
> http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/dca007d2/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/NumbersArithmeticException.java
> 
> ----------------------------------------------------------------------
> diff --git
> 
> a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/NumbersArithmeticException.java
> 
> b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/NumbersArithmeticException.java
> deleted file mode 100644
> index a910e80..0000000
> ---
> 
> a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/NumbersArithmeticException.java
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -/*
> - * Licensed to the Apache Software Foundation (ASF) under one or 
> more
> - * contributor license agreements.  See the NOTICE file distributed 
> with
> - * this work for additional information regarding copyright 
> ownership.
> - * The ASF licenses this file to You under the Apache License, 
> Version 2.0
> - * (the "License"); you may not use this file except in compliance 
> with
> - * the License.  You may obtain a copy of the License at
> - *
> - *      http://www.apache.org/licenses/LICENSE-2.0
> - *
> - * Unless required by applicable law or agreed to in writing, 
> software
> - * distributed under the License is distributed on an "AS IS" BASIS,
> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 
> implied.
> - * See the License for the specific language governing permissions 
> and
> - * limitations under the License.
> - */
> -package org.apache.commons.numbers.core;
> -
> -import java.text.MessageFormat;
> -
> -/**
> - * Base class for arithmetic exceptions.
> - */
> -public class NumbersArithmeticException extends ArithmeticException 
> {
> -    /** Serializable version Id. */
> -    private static final long serialVersionUID = 
> -6024911025449780474L;
> -
> -    private final Object[] formatArguments;
> -
> -    /**
> -     * Default constructor.
> -     */
> -    public NumbersArithmeticException() {
> -        this("arithmetic exception");
> -    }
> -
> -    /**
> -     * Constructor with a specific message.
> -     *
> -     * @param message Message pattern providing the specific context 
> of
> -     * the error.
> -     * @param args Arguments.
> -     */
> -    public NumbersArithmeticException(String message, Object ... 
> args) {
> -        super(message);
> -        this.formatArguments = args;
> -    }
> -
> -    @Override
> -    public String getMessage() {
> -        return MessageFormat.format(super.getMessage(), 
> formatArguments);
> -    }
> -
> -}
>
> 
> http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/dca007d2/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/ArithmeticUtilsTest.java
> 
> ----------------------------------------------------------------------
> diff --git
> 
> a/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/ArithmeticUtilsTest.java
> 
> b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/ArithmeticUtilsTest.java
> index 500aca3..a7185da 100644
> ---
> 
> a/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/ArithmeticUtilsTest.java
> +++
> 
> b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/ArithmeticUtilsTest.java
> @@ -37,12 +37,12 @@ public class ArithmeticUtilsTest {
>          try {
>              ArithmeticUtils.addAndCheck(big, 1);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException ex) {
> +        } catch (ArithmeticException ex) {
>          }
>          try {
>              ArithmeticUtils.addAndCheck(bigNeg, -1);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException ex) {
> +        } catch (ArithmeticException ex) {
>          }
>      }
>
> @@ -99,21 +99,21 @@ public class ArithmeticUtilsTest {
>              // gcd(Integer.MIN_VALUE, 0) > Integer.MAX_VALUE
>              ArithmeticUtils.gcd(Integer.MIN_VALUE, 0);
>              Assert.fail("expecting ArithmeticException");
> -        } catch (NumbersArithmeticException expected) {
> +        } catch (ArithmeticException expected) {
>              // expected
>          }
>          try {
>              // gcd(0, Integer.MIN_VALUE) > Integer.MAX_VALUE
>              ArithmeticUtils.gcd(0, Integer.MIN_VALUE);
>              Assert.fail("expecting ArithmeticException");
> -        } catch (NumbersArithmeticException expected) {
> +        } catch (ArithmeticException expected) {
>              // expected
>          }
>          try {
>              // gcd(Integer.MIN_VALUE, Integer.MIN_VALUE) > 
> Integer.MAX_VALUE
>              ArithmeticUtils.gcd(Integer.MIN_VALUE, 
> Integer.MIN_VALUE);
>              Assert.fail("expecting ArithmeticException");
> -        } catch (NumbersArithmeticException expected) {
> +        } catch (ArithmeticException expected) {
>              // expected
>          }
>      }
> @@ -173,21 +173,21 @@ public class ArithmeticUtilsTest {
>              // gcd(Long.MIN_VALUE, 0) > Long.MAX_VALUE
>              ArithmeticUtils.gcd(Long.MIN_VALUE, 0);
>              Assert.fail("expecting ArithmeticException");
> -        } catch (NumbersArithmeticException expected) {
> +        } catch (ArithmeticException expected) {
>              // expected
>          }
>          try {
>              // gcd(0, Long.MIN_VALUE) > Long.MAX_VALUE
>              ArithmeticUtils.gcd(0, Long.MIN_VALUE);
>              Assert.fail("expecting ArithmeticException");
> -        } catch (NumbersArithmeticException expected) {
> +        } catch (ArithmeticException expected) {
>              // expected
>          }
>          try {
>              // gcd(Long.MIN_VALUE, Long.MIN_VALUE) > Long.MAX_VALUE
>              ArithmeticUtils.gcd(Long.MIN_VALUE, Long.MIN_VALUE);
>              Assert.fail("expecting ArithmeticException");
> -        } catch (NumbersArithmeticException expected) {
> +        } catch (ArithmeticException expected) {
>              // expected
>          }
>      }
> @@ -220,7 +220,7 @@ public class ArithmeticUtilsTest {
>              // lcm == abs(MIN_VALUE) cannot be represented as a
> nonnegative int
>              ArithmeticUtils.lcm(Integer.MIN_VALUE, 1);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException expected) {
> +        } catch (ArithmeticException expected) {
>              // expected
>          }
>
> @@ -228,14 +228,14 @@ public class ArithmeticUtilsTest {
>              // lcm == abs(MIN_VALUE) cannot be represented as a
> nonnegative int
>              ArithmeticUtils.lcm(Integer.MIN_VALUE, 1<<20);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException expected) {
> +        } catch (ArithmeticException expected) {
>              // expected
>          }
>
>          try {
>              ArithmeticUtils.lcm(Integer.MAX_VALUE, Integer.MAX_VALUE 
> - 1);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException expected) {
> +        } catch (ArithmeticException expected) {
>              // expected
>          }
>      }
> @@ -269,7 +269,7 @@ public class ArithmeticUtilsTest {
>              // lcm == abs(MIN_VALUE) cannot be represented as a
> nonnegative int
>              ArithmeticUtils.lcm(Long.MIN_VALUE, 1);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException expected) {
> +        } catch (ArithmeticException expected) {
>              // expected
>          }
>
> @@ -277,7 +277,7 @@ public class ArithmeticUtilsTest {
>              // lcm == abs(MIN_VALUE) cannot be represented as a
> nonnegative int
>              ArithmeticUtils.lcm(Long.MIN_VALUE, 1<<20);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException expected) {
> +        } catch (ArithmeticException expected) {
>              // expected
>          }
>
> @@ -286,7 +286,7 @@ public class ArithmeticUtilsTest {
>          try {
>              ArithmeticUtils.lcm(Long.MAX_VALUE, Long.MAX_VALUE - 1);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException expected) {
> +        } catch (ArithmeticException expected) {
>              // expected
>          }
>      }
> @@ -299,12 +299,12 @@ public class ArithmeticUtilsTest {
>          try {
>              ArithmeticUtils.mulAndCheck(big, 2);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException ex) {
> +        } catch (ArithmeticException ex) {
>          }
>          try {
>              ArithmeticUtils.mulAndCheck(bigNeg, 2);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException ex) {
> +        } catch (ArithmeticException ex) {
>          }
>      }
>
> @@ -340,12 +340,12 @@ public class ArithmeticUtilsTest {
>          try {
>              ArithmeticUtils.subAndCheck(big, -1);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException ex) {
> +        } catch (ArithmeticException ex) {
>          }
>          try {
>              ArithmeticUtils.subAndCheck(bigNeg, 1);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException ex) {
> +        } catch (ArithmeticException ex) {
>          }
>      }
>
> @@ -355,7 +355,7 @@ public class ArithmeticUtilsTest {
>          try {
>              ArithmeticUtils.subAndCheck(big, -1);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException ex) {
> +        } catch (ArithmeticException ex) {
>              Assert.assertTrue(ex.getMessage().length() > 1);
>          }
>      }
> @@ -444,7 +444,7 @@ public class ArithmeticUtilsTest {
>
>      }
>
> -    @Test(expected=NumbersArithmeticException.class)
> +    @Test(expected=ArithmeticException.class)
>      public void testPowIntOverflow() {
>          ArithmeticUtils.pow(21, 8);
>      }
> @@ -459,7 +459,7 @@ public class ArithmeticUtilsTest {
>                              ArithmeticUtils.pow(base, 7));
>      }
>
> -    @Test(expected=NumbersArithmeticException.class)
> +    @Test(expected=ArithmeticException.class)
>      public void testPowNegativeIntOverflow() {
>          ArithmeticUtils.pow(-21, 8);
>      }
> @@ -492,7 +492,7 @@ public class ArithmeticUtilsTest {
>          }
>      }
>
> -    @Test(expected=NumbersArithmeticException.class)
> +    @Test(expected=ArithmeticException.class)
>      public void testPowLongOverflow() {
>          ArithmeticUtils.pow(21, 15);
>      }
> @@ -507,7 +507,7 @@ public class ArithmeticUtilsTest {
>                              ArithmeticUtils.pow(base, 14));
>      }
>
> -    @Test(expected=NumbersArithmeticException.class)
> +    @Test(expected=ArithmeticException.class)
>      public void testPowNegativeLongOverflow() {
>          ArithmeticUtils.pow(-21L, 15);
>      }
> @@ -558,7 +558,7 @@ public class ArithmeticUtilsTest {
>          try {
>              ArithmeticUtils.addAndCheck(a, b);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException ex) {
> +        } catch (ArithmeticException ex) {
>              // success
>          }
>      }
> @@ -567,7 +567,7 @@ public class ArithmeticUtilsTest {
>          try {
>              ArithmeticUtils.mulAndCheck(a, b);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException ex) {
> +        } catch (ArithmeticException ex) {
>              // success
>          }
>      }
> @@ -576,7 +576,7 @@ public class ArithmeticUtilsTest {
>          try {
>              ArithmeticUtils.subAndCheck(a, b);
>              Assert.fail("Expecting ArithmeticException");
> -        } catch (NumbersArithmeticException ex) {
> +        } catch (ArithmeticException ex) {
>              // success
>          }
>      }
>
> 
> http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/dca007d2/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
> 
> ----------------------------------------------------------------------
> diff --git
> 
> a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
> 
> b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
> index c000f2c..005e6e6 100644
> ---
> 
> a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
> +++
> 
> b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
> @@ -422,7 +422,7 @@ public class Fraction
>       * @param fraction  the fraction to add, must not be {@code 
> null}
>       * @return a {@code Fraction} instance with the resulting values
>       * @throws NullPointerException if the fraction is {@code null}
> -     * @throws NumbersArithmeticException if the resulting numerator
> or denominator exceeds
> +     * @throws ArithmeticException if the resulting numerator or
> denominator exceeds
>       *  {@code Integer.MAX_VALUE}
>       */
>      public Fraction add(Fraction fraction) {
> @@ -445,7 +445,7 @@ public class Fraction
>       * @param fraction  the fraction to subtract, must not be {@code 
> null}
>       * @return a {@code Fraction} instance with the resulting values
>       * @throws NullPointerException if the fraction is {@code null}
> -     * @throws NumbersArithmeticException if the resulting numerator
> or denominator
> +     * @throws ArithmeticException if the resulting numerator or 
> denominator
>       *   cannot be represented in an {@code int}.
>       */
>      public Fraction subtract(Fraction fraction) {
> @@ -468,7 +468,7 @@ public class Fraction
>       * @param isAdd true to add, false to subtract
>       * @return a {@code Fraction} instance with the resulting values
>       * @throws NullPointerException if the fraction is {@code null}
> -     * @throws NumbersArithmeticException if the resulting numerator
> or denominator
> +     * @throws ArithmeticException if the resulting numerator or 
> denominator
>       *   cannot be represented in an {@code int}.
>       */
>      private Fraction addSub(Fraction fraction, boolean isAdd) {
> @@ -525,7 +525,7 @@ public class Fraction
>       * @param fraction  the fraction to multiply by, must not be
> {@code null}
>       * @return a {@code Fraction} instance with the resulting values
>       * @throws NullPointerException if the fraction is {@code null}
> -     * @throws NumbersArithmeticException if the resulting numerator
> or denominator exceeds
> +     * @throws ArithmeticException if the resulting numerator or
> denominator exceeds
>       *  {@code Integer.MAX_VALUE}
>       */
>      public Fraction multiply(Fraction fraction) {
> @@ -560,7 +560,7 @@ public class Fraction
>       * @return a {@code Fraction} instance with the resulting values
>       * @throws IllegalArgumentException if the fraction is {@code 
> null}
>       * @throws FractionException if the fraction to divide by is 
> zero
> -     * @throws NumbersArithmeticException if the resulting numerator
> or denominator exceeds
> +     * @throws ArithmeticException if the resulting numerator or
> denominator exceeds
>       *  {@code Integer.MAX_VALUE}
>       */
>      public Fraction divide(Fraction fraction) {
> @@ -604,7 +604,7 @@ public class Fraction
>       * @param numerator  the numerator, for example the three in
> 'three sevenths'
>       * @param denominator  the denominator, for example the seven in
> 'three sevenths'
>       * @return a new fraction instance, with the numerator and
> denominator reduced
> -     * @throws NumbersArithmeticException if the denominator is 
> {@code zero}
> +     * @throws ArithmeticException if the denominator is {@code 
> zero}
>       */
>      public static Fraction getReducedFraction(int numerator, int
> denominator) {
>          if (denominator == 0) {
>
> 
> http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/dca007d2/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/FractionException.java
> 
> ----------------------------------------------------------------------
> diff --git
> 
> a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/FractionException.java
> 
> b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/FractionException.java
> index 6080981..d0a3788 100644
> ---
> 
> a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/FractionException.java
> +++
> 
> b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/FractionException.java
> @@ -16,12 +16,10 @@
>   */
>  package org.apache.commons.numbers.fraction;
>
> -import org.apache.commons.numbers.core.NumbersArithmeticException;
> -
>  /**
>   * Base class for all exceptions thrown in the module.
>   */
> -public class FractionException extends NumbersArithmeticException {
> +public class FractionException extends ArithmeticException {
>
>      /** Serializable version identifier. */
>      private static final long serialVersionUID = 201701191744L;
> @@ -36,9 +34,4 @@ public class FractionException extends
> NumbersArithmeticException {
>          this.formatArguments = formatArguments;
>      }
>
> -    public FractionException(String message, Throwable cause,
> Object... formatArguments) {
> -        super(message, cause);
> -        this.formatArguments = formatArguments;
> -    }
> -
>  }
>
> 
> http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/dca007d2/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/BigFractionTest.java
> 
> ----------------------------------------------------------------------
> diff --git
> 
> a/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/BigFractionTest.java
> 
> b/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/BigFractionTest.java
> index c4c3e12..b7ce258 100644
> ---
> 
> a/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/BigFractionTest.java
> +++
> 
> b/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/BigFractionTest.java
> @@ -18,7 +18,6 @@ package org.apache.commons.numbers.fraction;
>
>  import java.math.BigDecimal;
>  import java.math.BigInteger;
> -import org.apache.commons.numbers.core.NumbersArithmeticException;
>  import org.apache.commons.numbers.core.TestUtils;
>
>  import org.junit.Assert;
> @@ -435,8 +434,8 @@ public class BigFractionTest {
>          BigFraction f2 = BigFraction.ZERO;
>          try {
>              f1.divide(f2);
> -            Assert.fail("expecting NumbersArithmeticException");
> -        } catch (NumbersArithmeticException ex) {
> +            Assert.fail("expecting ArithmeticException");
> +        } catch (ArithmeticException ex) {
>          }
>
>          f1 = new BigFraction(0, 5);
>
> 
> http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/dca007d2/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/FractionTest.java
> 
> ----------------------------------------------------------------------
> diff --git
> 
> a/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/FractionTest.java
> 
> b/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/FractionTest.java
> index 3b2c4cb..a2c1f8e 100644
> ---
> 
> a/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/FractionTest.java
> +++
> 
> b/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/FractionTest.java
> @@ -16,7 +16,6 @@
>   */
>  package org.apache.commons.numbers.fraction;
>
> -import org.apache.commons.numbers.core.NumbersArithmeticException;
>  import org.apache.commons.numbers.core.TestUtils;
>  import org.junit.Assert;
>  import org.junit.Test;
> @@ -47,13 +46,13 @@ public class FractionTest {
>          try {
>              new Fraction(Integer.MIN_VALUE, -1);
>              Assert.fail();
> -        } catch (NumbersArithmeticException ex) {
> +        } catch (ArithmeticException ex) {
>              // success
>          }
>          try {
>              new Fraction(1, Integer.MIN_VALUE);
>              Assert.fail();
> -        } catch (NumbersArithmeticException ex) {
> +        } catch (ArithmeticException ex) {
>              // success
>          }
>
> @@ -323,8 +322,8 @@ public class FractionTest {
>          f = new Fraction(Integer.MIN_VALUE, 1);
>          try {
>              f = f.negate();
> -            Assert.fail("expecting NumbersArithmeticException");
> -        } catch (NumbersArithmeticException ex) {}
> +            Assert.fail("expecting ArithmeticException");
> +        } catch (ArithmeticException ex) {}
>      }
>
>      @Test
> @@ -379,35 +378,35 @@ public class FractionTest {
>
>          try {
>              f = f.add(Fraction.ONE); // should overflow
> -            Assert.fail("expecting NumbersArithmeticException but
> got: " + f.toString());
> -        } catch (NumbersArithmeticException ex) {}
> +            Assert.fail("expecting ArithmeticException but got: " +
> f.toString());
> +        } catch (ArithmeticException ex) {}
>
>          // denominator should not be a multiple of 2 or 3 to trigger
> overflow
>          f1 = new Fraction(Integer.MIN_VALUE, 5);
>          f2 = new Fraction(-1,5);
>          try {
>              f = f1.add(f2); // should overflow
> -            Assert.fail("expecting NumbersArithmeticException but
> got: " + f.toString());
> +            Assert.fail("expecting ArithmeticException but got: " +
> f.toString());
>          } catch (FractionOverflowException ex) {}
>
>          try {
>              f= new Fraction(-Integer.MAX_VALUE, 1);
>              f = f.add(f);
> -            Assert.fail("expecting NumbersArithmeticException");
> -        } catch (NumbersArithmeticException ex) {}
> +            Assert.fail("expecting ArithmeticException");
> +        } catch (ArithmeticException ex) {}
>
>          try {
>              f= new Fraction(-Integer.MAX_VALUE, 1);
>              f = f.add(f);
> -            Assert.fail("expecting NumbersArithmeticException");
> -        } catch (NumbersArithmeticException ex) {}
> +            Assert.fail("expecting ArithmeticException");
> +        } catch (ArithmeticException ex) {}
>
>          f1 = new Fraction(3,327680);
>          f2 = new Fraction(2,59049);
>          try {
>              f = f1.add(f2); // should overflow
> -            Assert.fail("expecting NumbersArithmeticException but
> got: " + f.toString());
> -        } catch (NumbersArithmeticException ex) {}
> +            Assert.fail("expecting ArithmeticException but got: " +
> f.toString());
> +        } catch (ArithmeticException ex) {}
>      }
>
>      @Test
> @@ -457,13 +456,13 @@ public class FractionTest {
>          try {
>              f1 = new Fraction(1, Integer.MAX_VALUE);
>              f = f1.divide(f1.reciprocal());  // should overflow
> -            Assert.fail("expecting NumbersArithmeticException");
> -        } catch (NumbersArithmeticException ex) {}
> +            Assert.fail("expecting ArithmeticException");
> +        } catch (ArithmeticException ex) {}
>          try {
>              f1 = new Fraction(1, -Integer.MAX_VALUE);
>              f = f1.divide(f1.reciprocal());  // should overflow
> -            Assert.fail("expecting NumbersArithmeticException");
> -        } catch (NumbersArithmeticException ex) {}
> +            Assert.fail("expecting ArithmeticException");
> +        } catch (ArithmeticException ex) {}
>
>          f1 = new Fraction(6, 35);
>          f  = f1.divide(15);
> @@ -542,8 +541,8 @@ public class FractionTest {
>              f1 = new Fraction(1, Integer.MAX_VALUE);
>              f2 = new Fraction(1, Integer.MAX_VALUE - 1);
>              f = f1.subtract(f2);
> -            Assert.fail("expecting NumbersArithmeticException");
> //should overflow
> -        } catch (NumbersArithmeticException ex) {}
> +            Assert.fail("expecting ArithmeticException");  //should 
> overflow
> +        } catch (ArithmeticException ex) {}
>
>          // denominator should not be a multiple of 2 or 3 to trigger
> overflow
>          f1 = new Fraction(Integer.MIN_VALUE, 5);
> @@ -556,21 +555,21 @@ public class FractionTest {
>          try {
>              f= new Fraction(Integer.MIN_VALUE, 1);
>              f = f.subtract(Fraction.ONE);
> -            Assert.fail("expecting NumbersArithmeticException");
> -        } catch (NumbersArithmeticException ex) {}
> +            Assert.fail("expecting ArithmeticException");
> +        } catch (ArithmeticException ex) {}
>
>          try {
>              f= new Fraction(Integer.MAX_VALUE, 1);
>              f = f.subtract(Fraction.ONE.negate());
> -            Assert.fail("expecting NumbersArithmeticException");
> -        } catch (NumbersArithmeticException ex) {}
> +            Assert.fail("expecting ArithmeticException");
> +        } catch (ArithmeticException ex) {}
>
>          f1 = new Fraction(3,327680);
>          f2 = new Fraction(2,59049);
>          try {
>              f = f1.subtract(f2); // should overflow
> -            Assert.fail("expecting NumbersArithmeticException but
> got: " + f.toString());
> -        } catch (NumbersArithmeticException ex) {}
> +            Assert.fail("expecting ArithmeticException but got: " +
> f.toString());
> +        } catch (ArithmeticException ex) {}
>      }
>
>      @Test



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org