首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异常中的Python异常

异常中的Python异常
EN

Stack Overflow用户
提问于 2010-12-08 00:09:19
回答 2查看 849关注 0票数 4

如何处理Python中except子句抛出的异常?

代码语言:javascript
复制
def safeLoopingCall(self, *args, **kwargs):
    try:
        self.loopingCall(*args, **kwargs)
    except:
        self.log.exception("exception in task")

如果记录器中发生异常,我们就会退出。避免这种情况的最佳实践是什么?您是否用另一个try-except块包围except (听起来很可怕)?这个函数被认为永远不会传播任何异常。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-08 00:22:03

一般来说,除了block之外,拥有一个通用的设计并不是一个好的设计,因为它可能会掩盖编程错误。这就是为什么它看起来有点糟糕的原因。

如果你真的想在任何情况下优雅地失败,那么是的,在except子句中放一个嵌套的try -但是记录完整的回溯,否则它可能真的很难调试。

票数 5
EN

Stack Overflow用户

发布于 2012-09-05 16:36:40

顺便说一句,你可以看看我的CausedException class。在这种情况下,它可能会对您有所帮助;您必须捕获这两个异常,将它们包装到CausedException中,然后以这两个异常为理由引发一个CausedException。这样,所有涉及的堆栈跟踪都将在调试消息中可用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4378786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档