カスタム カーソル クラスのブロック内から__exit__
、より具体的な例外をスローできるように、例外をキャッチしたいと考えています。これを行う適切な方法は何ですか?
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
ブロック内で特定の例外を発生させるの__exit__
はハックのように思えますが、考えすぎかもしれません。