Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为testcase引发什么异常:字符串长度>;价值?-python_Python_Exception_Exception Handling_Raise - Fatal编程技术网

为testcase引发什么异常:字符串长度>;价值?-python

为testcase引发什么异常:字符串长度>;价值?-python,python,exception,exception-handling,raise,Python,Exception,Exception Handling,Raise,我正在做一些测试,在某些情况下我会得到一些提升,比如: @staticmethod def concat_strings(string1, string2): if type(string1) is not str or type (string2) is not str: raise TypeError return string1 + string2 @staticmethod def concat_3strings(string1, string2, st

我正在做一些测试,在某些情况下我会得到一些提升,比如:

@staticmethod
def concat_strings(string1, string2):
    if type(string1) is not str or type (string2) is not str:
        raise TypeError
    return string1 + string2

@staticmethod
def concat_3strings(string1, string2, string3):
    if type(string1) is not str or type(string2) is not str or type(string3) is not str:
        raise TypeError
    return string1+string2+string3
现在,如果我想检查字符串的最大长度是10,那是“属性错误”,还是我应该做什么样的提升?为什么是那个

例如:

    @staticmethod
    def concat_2strings_tam(string1, string2):
        if len(string1)>10 or len(string2)>10:
            raise AttributeError
        return string1+string2
从python文档中:

异常值错误

当内置操作或函数接收到具有正确类型但值不正确的参数,并且该情况未由更精确的异常(如Indexer Ror)描述时引发

因此,听起来您想要
ValueError
,除非您想定义自己的自定义异常类。

来自python文档:

异常值错误

当内置操作或函数接收到具有正确类型但值不正确的参数,并且该情况未由更精确的异常(如Indexer Ror)描述时引发


因此,除非您想定义自己的自定义异常类,否则听起来您需要
ValueError

请注意,在Python中不鼓励验证参数类型,除非您正在应用类型注释。(在这种情况下,不需要在自己的代码中显式地进行验证。)请注意,在Python中不鼓励验证参数类型,除非应用类型注释。(在这种情况下,不需要在自己的代码中显式地执行此操作。)