我正在做一些测试,在某些情况下我有一些提升,例如:
@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
答案 0 :(得分:3)
来自python docs:
异常ValueError
当内置操作或函数接收到具有正确类型但值不合适的参数的情况时引发,并且情况不会由更准确的异常(如IndexError)描述。
所以听起来你想要ValueError
,除非你想定义自己的自定义异常类。