从__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__
似乎是一种黑客行为,但也许我想多了。