`KeyError` hides the exception raised by str(key)
Offen
Dieses Issue hat noch niemand übernommen.
interpreter-core
type-bug
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug report
Bug description:
>>>a = object.__new__(type(exit))
>>>b = {}
>>>b[a]
Traceback (most recent call last):
File "<python-input-2>", line 1, in <module>
b[a]
~^^^
KeyError: <exception str() failed>
The exception AttributeError was hidden:
Traceback (most recent call last):
File "<python-input-2>", line 1, in <module>
b[a]
~^^^
AttributeError: 'Quitter' object has no attribute 'name'
The exception in str() shouldn't be ignore. May because of the lack of the attribute or the wrong type that __str__ return.
CPython versions tested on:
3.13
Operating systems tested on:
Windows
Linked PRs
- gh-139961
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das Beispiel b[a] aus dem Bericht unter CPython 3.13 zu reproduzieren, und untersuche, wie die KeyError-Nachricht str(key) aufruft. Sieh dir den verknüpften PR gh-139961 an, um die aktuelle Richtung nachzuvollziehen; abgeschlossen ist die Arbeit, wenn die beim Formatieren des Schlüssels ausgelöste Exception erhalten bleibt, anstatt von der KeyError-Darstellung verborgen zu werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100