是否有用于验证函数输入的内置 Python 异常?
Is there a built-in Python Exception for validation of function input?
我有一个函数需要一个元组作为参数之一
def func(x,
t # t should be a tuple of a predefined type (str, bool, str)
):
...
是否有适合说明 t 类型不正确的内置错误,或者我应该定义自己的错误?
是的,TypeError
exception 正是用于这种情况:
Raised when an operation or function is applied to an object of inappropriate type.
[...]
Passing arguments of the wrong type (e.g. passing a list
when an int
is expected) should result in a TypeError
[.]
您可能需要研究使用 type hinting,以尽早发现程序员传递错误类型的错误。例如,我们在 linting 期间检查类型提示。
是的,这通常由 TypeError
表示。或者,如果参数类型正确但其值无效,请使用 ValueError
.
不过,在许多情况下(尤其是 TypeError
),您不必明确提出这些问题;当您尝试执行该类型不支持的操作时,它们自然会发生。
您可以使用 TypeError 异常。
我有一个函数需要一个元组作为参数之一
def func(x,
t # t should be a tuple of a predefined type (str, bool, str)
):
...
是否有适合说明 t 类型不正确的内置错误,或者我应该定义自己的错误?
是的,TypeError
exception 正是用于这种情况:
Raised when an operation or function is applied to an object of inappropriate type.
[...]
Passing arguments of the wrong type (e.g. passing a
list
when anint
is expected) should result in aTypeError
[.]
您可能需要研究使用 type hinting,以尽早发现程序员传递错误类型的错误。例如,我们在 linting 期间检查类型提示。
是的,这通常由 TypeError
表示。或者,如果参数类型正确但其值无效,请使用 ValueError
.
不过,在许多情况下(尤其是 TypeError
),您不必明确提出这些问题;当您尝试执行该类型不支持的操作时,它们自然会发生。
您可以使用 TypeError 异常。