如何解决使用装饰器捕获异常并继续
import asyncio
import logging
from functools import wraps
log = logging.getLogger(__name__)
def logger(func):
async def exception_handler(*arg,**kwargs):
try:
await func(*arg,**kwargs)
except Exception as err:
log.error(f"Exception occured: {err}")
# Send log to external system
return exception_handler
@logger
async def bad_division(dividend,divisors):
for divisor in divisors:
print(dividend / divisor)
print("How do I continue?")
if __name__ == '__main__':
dividend = 10
divisors = [2,4,6,8,0]
asyncio.run(bad_division(dividend,divisors))
是否可以继续遍历 for loop
而无需将 print(dividend / divisor)
包裹在 try catch
中?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。