异步:在异常情况下停止协程

时间:2019-11-10 15:53:09

标签: python asynchronous async-await python-asyncio

我正在编写一个必须自动重新启动的函数,以防捕获异常,但是我不知道该怎么做。 我有这段代码,但是没有用。:

import asyncio

async def main():
    while True:
        try:
            #REALLY huge amount of code
        except Exception as e:
            print(f"Exception: {e}")
            # Here I want this script to run main() again
            return


asyncio.run(main())

1 个答案:

答案 0 :(得分:1)

您的<a class="carousel-control left carousel-control-prev" href="#carouselExampleIndicators" data-slide="prev"> </a> <i class="fa fa-angle-left"></i><i class="fa fa-angle-left"> </i> <div align="right" style="float:right"> <a class="carousel-control right carousel-control-next" href="#carouselExampleIndicators" data-slide="next" style="align-text:right"> </a> <i class="fa fa-angle-right"></i><i class="fa fa-angle-right"></i> </div> 函数是一个协同例程,并且协同例程保持状态。重新启动同一个可能不是一个好主意。您需要两个函数,即协同例程main和一个常规函数main,该函数负责创建新的协同例程并再次运行它。

main

类似的东西。