python / python/cpython

Improve UX by using fully-qualified name in some `TypeError`

Abierto
#138,978 7 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

interpreter-core type-feature
Lenguaje dominante
Python
Estrellas
77.2k
Forks
36k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

Feature or enhancement

Proposal:

The error message TypeError: Can't instantiate abstract class FOO without an implementation for abstract methods 'BAR' doesn't tell me with module FOO comes from.

This is unfortunate, particularly in larger code bases where several FOO-ish classes live in distinct modules but have the same local name: discovering which class triggered the problem may require nontrivial code analysis.

Thus I propose to extend this error message so that it reports the module name, i.e. abstract class BAZ.BAR.FOO, instead.

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Linked PRs
  • gh-156683

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

El issue identifica el mensaje TypeError de las clases abstractas como punto de entrada; revisa primero el PR vinculado gh-156683 para ver el alcance propuesto actualmente. Confirma que el comportamiento final informe el nombre cualificado por módulo de la clase en este error sin perder los detalles de los métodos abstractos.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
backend
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.