New submission from Jonas Malaco <[email protected]>:
Trying to instantiate an enum with an invalid value results in "During handling
of the above exception, another exception occurred:".
$ cat > test.py << EOF
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
Color(0)
EOF
$ python --version
Python 3.8.1
$ python test.py
ValueError: 0 is not a valid Color
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "test.py", line 8, in <module>
Color(0)
File "/usr/lib/python3.8/enum.py", line 304, in __call__
return cls.__new__(cls, value)
File "/usr/lib/python3.8/enum.py", line 595, in __new__
raise exc
File "/usr/lib/python3.8/enum.py", line 579, in __new__
result = cls._missing_(value)
File "/usr/lib/python3.8/enum.py", line 608, in _missing_
raise ValueError("%r is not a valid %s" % (value, cls.__name__))
ValueError: 0 is not a valid Color
I think this might be related to 019f0a0cb85e ("bpo-34536: raise error for
invalid _missing_ results (GH-9147)"), but I haven't been able to confirm.
----------
components: Library (Lib)
messages: 362496
nosy: jonasmalaco
priority: normal
severity: normal
status: open
title: Instantiating enum with invalid value results in ValueError twice
type: behavior
versions: Python 3.8, Python 3.9
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue39728>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com