Python中文
首页
教程
问答
标签
搜索
登录
注册
在Python中,是否可以用同一个decorator来修饰类和非类方法?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个简单的异常日志装饰器,当脚本抛出异常时,它可以方便地向自己发送电子邮件。在</p> <pre><code>def logExceptions(func): def wrapper(): try: func() except Exception, e: logger.exception(e) return wrapper </code></pre> <p>但是,如果我想修饰一个类方法,我必须修改wrapper()以获取“self”,否则会出现以下错误:</p> ^{pr2}$ <p>当然,在这一点上,我不能用它来修饰任何非类方法,因为这样就会出现以下错误:</p> <pre><code>TypeError: wrapper() takes exactly 1 argument (0 given) </code></pre> <p>有没有一个干净的方法来解决这个问题?谢谢您=)</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>装饰的另一种选择是使用<a href="http://docs.python.org/library/sys.html#sys.excepthook" rel="nofollow">^{<cd1>}</a>,这是一个回调函数,它对所有未捕获的异常进行操作,您可以将自定义日志记录函数分配给这些异常。这样做的好处是,您不需要<em>mutilate</em>(更重要的是,跟踪)您对记录异常感兴趣的每个函数。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
6 回答
如何添加表示整数的擦边字符串?
5 回答
如何添加要在Bokeh中使用的新font.ttf文件?
9 回答
如何添加要显示的矩阵XY轴编号和XY轴
5 回答
如何添加计数?
7 回答
如何添加计数器函数?
10 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
6 回答
如何添加计数器来跟踪while循环中的月份和年份?
2 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
5 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
3 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
9 回答
如何添加评论拉梅尔亚姆
7 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
7 回答
如何添加谷歌地点自动完成到Flask?
9 回答
如何添加超时、python discord bot
3 回答
如何添加超过1dp的检查
8 回答
如何添加距离方法
6 回答
如何添加跟随游戏的敌人精灵
8 回答
如何添加路径以便python可以找到程序?
4 回答
如何添加身份验证/安全性以使用happybase访问HBase?
5 回答