如何解决在 python 类中使用装饰器处理异常
假设我有这个类,我希望装饰器处理异常:
class A:
def __init__(self,start: bool):
self.start = start
def enc(self,data):
try:
if self.start:
return data.encode()
return 'ok'
except AttributeError:
raise Exception('oh no')
def dec(self,data):
try:
if self.start:
return data.decode()
return 'ok'
except AttributeError:
raise Exception('oh no')
(这不起作用,@A.type_exc_handler NameError: name 'A' is not defined
):
class A:
def __init__(self,start: bool):
self.start = start
def type_exc_handler(self,func):
def inner(self,*args,**kwargs):
try:
func(self,**kwargs)
except AttributeError:
raise TypeError(f"oh no")
return inner
@A.type_exc_handler
def enc(self,data):
if self.start:
return data.encode()
return 'ok'
@A.type_exc_handler
def dec(self,data):
if self.start:
return data.decode()
return 'ok'
我怎样才能做到这一点?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。