我已经看过关于使用Timer的这篇文章:
Accurate timing of functions in python
虽然它确实有时间进行已知的操作......我需要稍微不同的东西。
我想:
答案 0 :(得分:2)
您可以将请求几乎直接转换为代码 - 只需添加“if”语句,然后抛出异常:
import timeit
def test(operation, setup, threshold):
# Add any kind of timing setup here.
t = timeit.Timer(operation, setup=setup)
# Note: t.timeit(number=1) returns the time in seconds, not milliseconds
if t.timeit() > threshold:
raise Exception("ERROR: expected time constant exceeded")
答案 1 :(得分:0)
要抛出错误,请使用:
raise Exception("my message")
(适用于Python 2.7,我不确定3)
所以在你的功能中:
if time >= expected: raise Exception("took too long!")
您也可以拥有自己的错误类:
class TooLongError(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
raise TooLongError("took too long")
产地:
TooLongError:花了太长时间