ipython / ipython/ipykernel

`ExceptionGroup` doesn't show sub-exceptions

Abierto
#1,149 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
734
Forks
412
Merge medio
1 d 5 h
PR fusionados (30 d)
8

Descripción

As seen below, Python 3.11 `ExceptionGroup` objects don't show sub-exceptions when displayed; explicitly catching and using `traceback.print_exc()` is required to see them:
```
❯ jupyter console

In [1]: exc = ExceptionGroup("derp", [Exception("herp")])

In [2]: raise exc
---------------------------------------------------------------------------
ExceptionGroup Traceback (most recent call last)
Cell In[2], line 1
----> 1 raise exc

ExceptionGroup: derp (1 sub-exception)

In [3]: try:
...: raise exc
...: except:
...: import traceback; traceback.print_exc()
...:
+ Exception Group Traceback (most recent call last):
| File "C:\Users\evanj\AppData\Local\Temp\ipykernel_20028\3102285775.py", line 2, in
| raise exc
| File "C:\Users\evanj\anaconda3\Lib\site-packages\IPython\core\interactiveshell.py", line 3505, in run_code
| exec(code_obj, self.user_global_ns, self.user_ns)
| File "C:\Users\evanj\AppData\Local\Temp\ipykernel_20028\3429297078.py", line 1, in
| raise exc
| ExceptionGroup: derp (1 sub-exception)
+-+---------------- 1 ----------------
| Exception: herp
+------------------------------------
```

Versions:
```
Python 3.11.4
ipykernel 6.19.2
ipython 8.12.0
jupyter 1.0.0
jupyter_client 7.4.9
jupyter-console 6.6.3
jupyter_core 5.3.0
jupyter-events 0.6.3
jupyter-server 1.23.4
jupyter_server_fileid 0.9.0
jupyter_server_ydoc 0.8.0
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.