有没有办法中断执行方法并在超时的情况下重复执行该方法?

例如连接到某个服务器的方法连接。

try:
    connection(server,5)
except:
    repeat

让我们看一下方法连接运行超过5秒的情况。 然后,我想提出例外情况并重复一遍。 例外是没有必要的,我只想重复一遍。

我正在考虑创建第二个线程来检查时间,并且在超时后提供另一个线程中的方法中断,但是我认为应该有一个更简单的解决方案。

===============>>#1 票数:3

或者,您也可以使用while循环:

def connection(server, timeout):
    while everything_ok:
        try:
            # do stuff
        except Exception:
            continue
        break

当然,如果连接是您的方法,而不是某些第三方库提供的方法。

===============>>#2 票数:1

您可以使用线程。

码:

import threading
success = False
def connect():
    global success
    connection(server,5)
    success = True
th = threading.Thread(target=connect)
th.start()
time.sleep(5) #timeout 5 sec
if success:
    yuhuuu   
else:
    th.stop() #kill task

  ask by Milano translate from so

未解决问题?本站智能推荐:

1回复

class方法上的functools.partial

我正在尝试使用另一个更通用的类方法来定义一些类方法,如下所示: 但是,当我尝试调用其中任何一种方法时,都会得到: 由于rgb.red(rgb)有效,我猜self不会传递给_color 。
4回复

python中递归方法的AttributeError

我有一个python的递归方法问题,代码是这样的: 错误是这样的: 我尝试了什么,但它不起作用。 无论如何,有什么建议吗? 谢谢!
2回复

有没有办法找出哪个Python方法可以引发哪个异常或错误

有没有办法找出哪个Python方法可以引发哪个异常或错误? 我在官方Python文档中没有找到太多相关内容。
2回复

重复作废方法

我想重复getCommand()方法,直到用户键入quit,但它总是失败 我试图将getCommand()放在其他方法的末尾,并且if语句不会重复 我尝试对所有内容执行一个while循环,但是如果有人不小心键入了错误的类型,则该程序将永远不会结束 在用户希望退出之前,
3回复

如何创建重复函数的方法?

大家好,我是网站的新手,这是我在Java编程课程中的第一个问题。 我必须创建一个程序,询问一个数学问题,并告诉用户他是对还是错,但要求还说明我需要创建一个方法,如果第一个问题是正确的,则生成一个新问题,所以当计算机问什么是5次5和用户输入25该方法应生成两个新的随机数并询问用户结果。 到
4回复

避免在C ++类的方法中重复代码?

想象一个正在做以下事情的课堂 该类包含许多方法(少于20种),对于这些方法中的每一种,我们都需要检查mode的值,这显然是很多代码重复。 此外,我们可以识别出两类方法,如果模式= 0会抛出错误,如果模式= 1会抛出错误。是否可以将这些方法分为两类(类别A =如果模式!= 0)抛出错误的
1回复

如何使用睡眠方法重复播放声音

我在单击按钮后重复播放声音时遇到问题,但是一直重复播放直到我单击停止按钮为止,我想使用sleep方法重复播放声音,但提示“对于类型onclicklistener(),sleep方法未定义”
1回复

无法弄清楚为什么另一个方法作为参数重复

我是新手,刚开始学习C#,因此您必须使用方法来创建自己的伪登录系统,这是一个挑战。 讲师将方法用作其他方法中的参数很好,但是当我这样做时,无论我不知道是什么原因,它都在重复。 我经过数小时的观察和摆弄,未能找到相关的解决方案,因此创建了这个帐户。 请帮忙! 这是输出:
3回复

数到幂; 重复单词

在编程课上,我们正在学习方法。 我们的老师给我们分配了这个东西,在第一种方法中,我们发现了7个(预声明)数字的平均值,在第二种方法中,我们发现了最少的5个(预声明)数字。 在第三种方法中,我们必须使用扫描仪输入两个数字,并且将第一个数字提高为第二个数字的幂。 例如:5、2; 程序应输出
1回复

使用方法清理代码

我创建了一个三菱徽标生成器,如下所示。 它从logo.txt文件中获取输入,并使用这些ints/chars来创建logo.txt文件中标识的许多徽标。 我只是觉得我的代码是非常重复的,所以我想通过将代码切成单独的方法来清理它,而不是一遍又一遍地重复,是否有关于如何清理它的建议? 我将不胜感