By default, BigDecimal attempts to return the exact value of the given division expression. Because of this, if the exact value cannot be determined due to an infinite decimal expansion, an ArithmeticException is thrown. A basic example of this is dividing 1 by 3, resulting in one third, a value which cannot be represented exactly in decimal notation.