Thanks to visit codestin.com
Credit goes to github.com

Skip to content

encodings.idna: Unexpanded f-string in "Unsupported error handling" exception #135069

@danielhollas

Description

@danielhollas

Bug report

Bug description:

The exception string in encondings.idna.IncrementalDecoder is missing the 'f' prefix.

raise UnicodeError("Unsupported error handling: {errors}")

The exception can be triggered with this snippet.

from encodings.idna import IncrementalDecoder    
decoder = IncrementalDecoder(errors='boom!')    
decoder.decode(b'')

On main

$ ./python test.py
Traceback (most recent call last):
  File "/home/hollas/software/cpython/test.py", line 3, in <module>
    decoder.decode(b'')
    ~~~~~~~~~~~~~~^^^^^
  File "<frozen codecs>", line 325, in decode
  File "/home/hollas/software/cpython/Lib/encodings/idna.py", line 319, in _buffer_decode
    raise UnicodeError("Unsupported error handling: {errors}")
UnicodeError: Unsupported error handling: {errors}

The issue also exists on Python 3.13 and 3.14, but not on 3.12

$ uvx [email protected] test.py
Traceback (most recent call last):
  File "/home/hollas/software/cpython/test.py", line 3, in <module>
    decoder.decode(b'')
  File "<frozen codecs>", line 322, in decode
  File "/usr/lib64/python3.12/encodings/idna.py", line 264, in _buffer_decode
    raise UnicodeError("Unsupported error handling "+errors)
UnicodeError: Unsupported error handling boom!

(I'll submit a PR shortly)

CPython versions tested on:

CPython main branch

Operating systems tested on:

No response

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    stdlibPython modules in the Lib dirtype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions