Fix uncaught OverflowError in Math Expression node for large int results (#14214)

This commit is contained in:
vidigoat
2026-06-02 06:45:04 +05:30
committed by GitHub
parent 4b48535a7d
commit 33799c4a2e
2 changed files with 16 additions and 2 deletions

View File

@@ -102,11 +102,18 @@ class MathExpressionNode(io.ComfyNode):
f"Math Expression '{expression}' must evaluate to a numeric result, "
f"got {type(result).__name__}: {result!r}"
)
if not math.isfinite(result):
try:
float_result = float(result)
except OverflowError:
raise ValueError(
f"Math Expression '{expression}' produced a result too large to "
f"represent as a float: {result}"
) from None
if not math.isfinite(float_result):
raise ValueError(
f"Math Expression '{expression}' produced a non-finite result: {result}"
)
return io.NodeOutput(float(result), int(result), bool(result))
return io.NodeOutput(float_result, int(result), bool(result))
class MathExtension(ComfyExtension):