如果您使用的是python 2.5或更高版本,则可以使用以下with
语句:
from __future__ import with_statement
import contextlib
@contextlib.contextmanager
def handler():
try:
yield
except Exception, e:
baz(e)
您的示例现在变为:
with handler():
foo(a, b)
with handler():
bar(c, d)