我想用redis缓存构建我的应用程序。但在我们的案例中,可能redis并不总是可用的,
所以我希望,它的redis工作得很好,我们使用它。如果它不能工作,只需记录并忽略它这次。在
例如:
try: conn.sadd('s', *array) except : ...
因为有很多地方我会运行一些conn.{rediscommand},所以我不喜欢使用try/except-everyplace。在
所以解决办法可能是:
^{pr2}$但是由于redis有很多命令,所以我不得不一个一个的修改它们。在
是否可以为一个类定制一个异常处理程序来处理来自这个类的所有异常?在
在默认情况下关闭所有异常可能是你能做的最糟糕的事情。在
无论如何,对于您的问题,您可以编写一个通用包装器,它只重定向到connection对象。在
然后你会这样叫:
^{pr2}$这还没有经过测试,而且只适用于方法。对于属性,您应该捕获不可调用的异常并正确地作出反应。在
它总是一样的
Exception
?在如果是这样,您可以编写一个自定义的异常捕获和日志装饰器。在
如下所示:
然后在代码中使用它:
^{pr2}$@idanshmu建议的注释和指向Exceptions for the whole class的链接将为每个方法提供更详细的处理
Exceptions
。在相关问题 更多 >
编程相关推荐