1. 抛出错误后继续执行问题
对比两段代码:
def sign():
try:
users = query_users('sign')
for user in users:
try:
...
except Exception as e:
msg = '出现错误,赶快手动填'
logger.warning(traceback.format_exc())
finally:
...
except Exception as e:
logger.warning(traceback.format_exc())
与:
def sign():
users = query_users('sign')
for user in users:
try:
try:
...
except Exception as e:
msg = '出现错误,赶快手动填'
logger.warning(traceback.format_exc())
finally:
...
except Exception as e:
logger.warning(traceback.format_exc())
因为某些原因,需要嵌套使用 try...excepy...finally
语句,同时需保证抛出错误后循环继续。
注意外层 try 的位置,很显然第一个程序段再捕获到异常后,就直接结束函数了,无法达到目的。