J'essaie de cacher quelques tentatives/hors complexité avec un gestionnaire de contexte. Voici un exemple simple:Utilisation de yield deux fois dans contextmanager
from contextlib import contextmanager
import mpd
mpdclient = mpd.MPDClient()
mpdclient.connect("localhost", 6600)
@contextmanager
def mpdcontext():
try:
yield
except mpd.ConnectionError:
mpdclient.connect("localhost", 6600)
with mpdcontext():
mpdclient.status()
with mpdcontext():
mpdclient.lsinfo()
Maintenant, comme je l'ai compris, le bloc dans l'instruction with est exécutée lorsque le rendement est appelé. Dans mon cas, si cela déclenche une exception, je me reconnecte à mpd. Puis-je d'une manière ou d'une autre exécuter le bloc-bloc après cette reconnexion?
Merci