Skip to content

Commit c18c6e6

Browse files
committed
Preserve parse_float error propagation
Only wrap the integer conversion's ValueError into TOMLDecodeError. A parse_float callback raising ValueError must propagate unchanged, which test_invalid_parse_float asserts.
1 parent 9c2e30d commit c18c6e6

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

Lib/tomllib/_parser.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -741,6 +741,9 @@ def parse_value(
741741
try:
742742
number = match_to_number(number_match, parse_float)
743743
except ValueError as e:
744+
if number_match.group("floatpart"):
745+
# A failing parse_float raises its own error unchanged.
746+
raise
744747
raise TOMLDecodeError("Invalid number", src, pos) from e
745748
return number_match.end(), number
746749

0 commit comments

Comments
 (0)