【发布时间】:2016-07-05 08:22:17
【问题描述】:
我对 spyne 的多个装饰器有疑问。我想为类中的每个方法添加通用的 try/except 装饰器。我的代码如下所示:
def try_except(fn):
def wrapped(*args, **kwargs):
try:
return fn(*args, **kwargs)
except Exception:
do_sth()
return wrapped
class A(ServiceBase):
@rpc(Unicode, Integer, _returns=[Boolean, Integer], _out_variable_names=["FooResult", "bar"])
@try_except
def Foo(self, foo, bar):
do_sth()
return True, 0
@try_except 我得到参数数量错误,我做错了什么?
【问题讨论】:
-
可以添加回溯吗?
-
请注意,装饰器是 "inside out" 应用的,因此
rpc包装器中的代码抛出的任何错误都不会被try_except捕获
标签: python web-services wcf python-decorators spyne