def run(self, reset_on_exception):
""" Run the program. This blocks until the program is finished.
:param reset_on_exception: If true the :func:`machine.reset` is called
if an exeption other than
:class:`KeyboardInterrupt` if raised.
:type reset_on_exception: bool
:raises Exception: If the program fails for some reason.
"""
try:
with self:
self.clean()
self.scheduler.handle()
self.clean()
except KeyboardInterrupt:
pass
except Exception as err:
sys.print_exception(err) # pylint: disable=no-member
if reset_on_exception:
machine.reset()
raise
评论列表
文章目录