外部服务中的Python错误处理

2024-05-17 08:21:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在对GSM网络执行Ussd命令。有时由于未知的细节,命令失败。在

我想做的是:

如果发送到GSM网络的命令失败,我将等待4秒,如果再次失败,我将再等待6秒。如果再次失败,我将退出并返回类似“未知GSM运营商错误”的信息

我的问题是如何在Python中使用try/except处理这个循环:

这是不带try/except的代码:

def getGsmCode()
    code = somecommand('xyz')
    return code[0]

我试着实现这一点,但它是丑陋的。这是最好的方法吗?在

^{pr2}$

谨致问候


Tags: 代码命令网络信息def错误code细节
1条回答
网友
1楼 · 发布于 2024-05-17 08:21:39

我将使用for循环。在

例如:

import time

def somecommand(arg):
    1 / 0

def getGsmCode():
    delays = 4, 6,
    for delay in delays:
        try:
            return somecommand('xyz')[0]
        except:
            #print('sleep {}'.format(delay))
            time.sleep(delay)
    return "unknown GSM Operator Error"

print(getGsmCode())

相关问题 更多 >