如果异常不,我会想要执行一些代码。
目前我正在这样做:
try:
return type, self.message_handlers[type](self, length - 1)
finally:
if not any(self.exc_info()):
self.last_recv_time = time.time()
可以改进吗?这是最好的方法吗?
如果控制流出,则执行可选的else子句 try子句的结尾。
目前,控制“流出结束”除外 异常或执行return,continue或break语句。
答案 0 :(得分:17)
try:
tmp = type, self.message_handlers[type](self, length - 1)
except Exception:
pass #or handle error, or just "raise" to re-raise
else:
self.last_recv_time = time.time()
return tmp
答案 1 :(得分:8)
您的代码表明您不希望在发生异常时捕获异常,所以为什么不简单
result = type, self.message_handlers[type](self, length - 1)
self.last_recv_time = time.time()
return result
(我错过了什么吗?)