Python 异常代码块失败的可能性有多大 问题:
当操作系统仍在运行时,python代码的Python 异常代码块失败的可能性有多大 问题:,python,exception-handling,Python,Exception Handling,当操作系统仍在运行时,python代码的finally块是否有可能不执行 目的: 我需要用Linux控制一台机器。步进电机的方波信号是在相同的环境下由外部程序产生的,如果我不能出于某种原因停止方波信号,机器将受到物理损坏。因此,无论我的应用程序如何崩溃,在任何情况下调用外部程序的stop方法都是非常重要的 根据该官员的说法: 在离开try语句之前,始终执行finally子句, 是否发生异常。当发生异常时 在try子句中发生,并且未由Exception处理 子句(或已发生在除外或其他条款中),它是
finally
块是否有可能不执行
目的:
我需要用Linux控制一台机器。步进电机的方波信号是在相同的环境下由外部程序产生的,如果我不能出于某种原因停止方波信号,机器将受到物理损坏。因此,无论我的应用程序如何崩溃,在任何情况下调用外部程序的stop方法都是非常重要的 根据该官员的说法:
在离开try语句之前,始终执行finally子句,
是否发生异常。当发生异常时
在try子句中发生,并且未由Exception处理
子句(或已发生在除外或其他条款中),它是
在最终条款执行后重新提出。最后
当合同的任何其他条款出现时,第条也将在“退出时”执行
try语句通过break、continue或return语句留下
无论如何,在某些情况下(例如,程序崩溃),仍然可能发生程序未进入finally语句的情况,但此时为了防止程序崩溃后资源打开(例如,数据库会话),您需要使用不同的机制(监视等)。根据官方说法:
在离开try语句之前,始终执行finally子句,
是否发生异常。当发生异常时
在try子句中发生,并且未由Exception处理
子句(或已发生在除外或其他条款中),它是
在最终条款执行后重新提出。最后
当合同的任何其他条款出现时,第条也将在“退出时”执行
try语句通过break、continue或return语句留下
无论如何,在某些情况下(例如,程序崩溃),仍然可能发生程序未进入finally语句的情况,但此时为了防止程序崩溃后资源打开(例如,数据库会话),您需要使用不同的机制(监视等)。根据官方说法:
在离开try语句之前,始终执行finally子句,
是否发生异常。当发生异常时
在try子句中发生,并且未由Exception处理
子句(或已发生在除外或其他条款中),它是
在最终条款执行后重新提出。最后
当合同的任何其他条款出现时,第条也将在“退出时”执行
try语句通过break、continue或return语句留下
无论如何,在某些情况下(例如,程序崩溃),仍然可能发生程序未进入finally语句的情况,但此时为了防止程序崩溃后资源打开(例如,数据库会话),您需要使用不同的机制(监视等)。根据官方说法:
在离开try语句之前,始终执行finally子句,
是否发生异常。当发生异常时
在try子句中发生,并且未由Exception处理
子句(或已发生在除外或其他条款中),它是
在最终条款执行后重新提出。最后
当合同的任何其他条款出现时,第条也将在“退出时”执行
try语句通过break、continue或return语句留下
无论如何,在某些情况下(例如,程序崩溃),仍然可能发生程序未进入finally语句的情况,但此时为了防止程序崩溃后资源打开(例如,数据库会话),需要使用不同的机制(监视等).展示……或者请解释你想问什么……机会?当然停电。展示一些东西……或者请解释你想问什么……一个机会?当然停电。展示一些东西……或者请解释你想问什么……一个机会?当然停电。展示一些东西……或者请解释你想问什么……一个机会?当然停电。监控是最后的手段。这将使代码更加复杂。也许有一个选项可以作为单独的进程运行
finally
块?它会有帮助吗?你可以制作另一个脚本来检查第一个程序是否正在运行,如果不是,它将调用stop方法。为了确保它能运行,我会在另一台服务器/机器上运行第二个脚本,并将它们与某种DB连接起来。谢谢大家。嗯,“另一个检查的脚本…”正是监控所做的:)PS:这取决于您的程序所做的。它是web服务吗?它是否提供网络接口?因为已经有了一些监控工具,比如Zabbix、JMX for Java等等,监控是最后的手段。这将使代码更加复杂。也许有一个选项可以作为单独的进程运行finally
块?它会有帮助吗?你可以制作另一个脚本来检查第一个程序是否正在运行,如果不是,它将调用stop方法。为了确保它能运行,我会在另一台服务器/机器上运行第二个脚本,并将它们与某种DB连接起来。谢谢大家。嗯,“另一个检查的脚本…”正是监控所做的:)PS:这取决于您的程序所做的。它是web服务吗?它是否提供网络接口?因为已经有了一些监控工具,比如Zabbix、JMX for Java等等,监控是最后的手段。这将使代码更加复杂。也许有一个选项可以作为单独的进程运行finally
块?它会有帮助吗?你可以制作另一个脚本来检查第一个程序是否正在运行,如果不是,它将调用stop方法。