De l'intérieur d'un __exit__
dans une classe de curseur personnalisée, je veux attraper une exception pour pouvoir à mon tour lancer une exception plus spécifique. Quelle est la bonne façon de procéder ?
class Cursor:
def __enter__(self):
...
def __exit__(self, ex_type, ex_val, tb):
if ex_type == VagueThirdPartyError:
# get new more specific error based on error code in ex_val and
# return that one in its place.
return False # ?
else:
return False
Lever l'exception spécifique dans le cadre de la __exit__
Le bloc semble être un hack, mais peut-être que j'y pense trop.