diff --git a/data/evaluatto/src/main/java/io/github/sadellie/evaluatto/Expression.kt b/data/evaluatto/src/main/java/io/github/sadellie/evaluatto/Expression.kt index 39197b5b..354e96d1 100644 --- a/data/evaluatto/src/main/java/io/github/sadellie/evaluatto/Expression.kt +++ b/data/evaluatto/src/main/java/io/github/sadellie/evaluatto/Expression.kt @@ -216,7 +216,13 @@ class Expression( // Power if (moveIfMatched(Token.Operator.power)) { - expr = expr.pow(parseFactor()) + val factor = parseFactor() + + if (factor.compareTo(BigDecimal.ZERO) == 0) { + throw ExpressionException.BadExpression() + } + + expr = expr.pow(factor) } // Modulo