我正在为自动过程编写脚本。测试使用通过Paramiko的SSH连接,并且出于任何原因(与系统相关)系统重新启动,这会关闭SSH连接。然后Python发出一个错误,表示连接被强制关闭。Python跳出异常声明并继续
我希望程序在except语句中捕获错误,然后它将恢复ssh连接,然后从第一次出现错误的位置继续。
的代码太长发布但本质上,我希望做到以下几点:
try:
dotesting()
except ParamikoError():
restoressh()
#here i want to break out and get back into dotesting()
我不知道这是可能因为“GOTO”是在不使用皱起了眉头在Python中。我会如何执行此操作?
编辑
所以我最初想做的是不可能的。现在我正在把重点转向重新启动的一个具体步骤中dotesting()
def dotesting():
try:
stepone()
except ParamikoError():
#Need to restart step here, want to flow into steptwo() below
try:
steptwo()
except ParamikoError():
#Need to restart step here, want to flow into the return statement below
return("Success")
你不能回到异常出现的地方,没有。您最多可以*重新启动*'dotesting()'。只需使用一个循环。 –
否则,您必须重构'dotesting()'以打破通过SSH运行的步骤,以便您可以在每个步骤捕获异常并重新启动该步骤。 –
@MartijnPieters这是有道理的。我已经更新了该问题以反映您已提出的建议,因为这可以适用于我的案例 – bladexeon