Skip to content

Commit 2d74444

Browse files
committed
try/finally
1 parent 4e95698 commit 2d74444

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

Lib/json/encoder.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -450,8 +450,10 @@ def _iterencode(o, _current_indent_level):
450450

451451
def _iterencode_once(o, _current_indent_level):
452452
nonlocal _iterencode, _iterencode_dict, _iterencode_list
453-
yield from _iterencode(o, _current_indent_level)
454-
# Break reference cycles due to mutually recursive closures:
455-
del _iterencode, _iterencode_dict, _iterencode_list
453+
try:
454+
yield from _iterencode(o, _current_indent_level)
455+
finally:
456+
# Break reference cycles due to mutually recursive closures:
457+
del _iterencode, _iterencode_dict, _iterencode_list
456458

457459
return _iterencode_once

0 commit comments

Comments
 (0)