异常¶

- taskflow.exceptions.raise_with_cause(exc_cls, message, *args, **kwargs)[source]¶
辅助函数,用于抛出异常并关联一个原因(cause),并在可能的情况下链式调用异常。
注意(harlowja):由于在 py3.x 中异常可以链式调用(得益于 PEP 3134),我们应该尝试使用给定的原因抛出所需的异常(或者如果可能,从当前堆栈中提取一个原因),以便异常在旧版本和新版本的 python 中都能格式化得很好。由于 py2.x 不支持异常链式调用(或格式化),我们的根异常类有一个
pformat()方法,可用于获取类似的信息(并且此函数确保在这种情况下也保留原因,以便pformat()方法显示它们)。- 参数:
exc_cls – 要抛出的
TaskFlowException类。message – 将作为其第一个位置参数传递给异常构造函数的文本/字符串消息。
args – 要传递给异常构造函数的任何其他位置参数。
kwargs – 要传递给异常构造函数的任何其他关键字参数。
- exception taskflow.exceptions.TaskFlowException(message, cause=None)[source]¶
基础:
Exception此库发出的大多数异常的基类。
注意(harlowja):在 python 的后续版本中,我们可能可以删除此处需要
cause的需求,因为 PY3+ 已经实现了 PEP 3134,它以更优雅的方式处理链式调用。- 参数:
message – 异常消息,通常是调试或分析故障时对用户有用的字符串。
cause – 正在引发的异常的原因,如果提供,它本身应该是一个异常实例,这对于创建 python 版本中尚未实现/支持的异常链很有用。
- exception taskflow.exceptions.UnclaimableJob(message, cause=None)[source]¶
基类:
JobFailure当无法声明作业时引发。
- exception taskflow.exceptions.RequestTimeout(message, cause=None)[source]¶
基类:
ExecutionFailure当 worker 请求在分配的时间内未完成时引发。
- exception taskflow.exceptions.InvalidState(message, cause=None)[source]¶
基类:
ExecutionFailure当尝试执行无效状态转换时引发。
- exception taskflow.exceptions.MissingDependencies(who, requirements, cause=None, method=None)[source]¶
-
当实体具有无法满足的依赖项时引发。
- 参数:
who – 导致缺少依赖项触发的实体。
requirements – 未满足的依赖项。
其他参数被解释为在
TaskFlowException中一样。- MESSAGE_TPL = "'%(who)s' 需要 %(requirements)s 但没有 其他实体 产生 所述需求"¶
创建实际消息时使用的异常消息模板。
- exception taskflow.exceptions.DisallowedAccess(message, cause=None, state=None)[source]¶
-
由于状态限制导致无法进行存储访问时引发。
- exception taskflow.exceptions.NotImplementedError[source]¶
-
当某些功能实际上尚未实现时引发的异常。
这通常对于库本身区分未向用户公开的内部功能与未实现的用户功能(以及避免误解两者)非常有用。