Python OOP仅在满足函数参数时初始化对象

Python OOP仅在满足函数参数时初始化对象,python,class,oop,initialization,arguments,Python,Class,Oop,Initialization,Arguments,我如何仅允许在满足参数的情况下创建对象?我尝试使用错误处理,但是不管输入的值是多少,仍然会创建对象 class Age(object): def __init__(self, age): try: if age > 5: self.testAge = age else: raise ValueError('Number is too low') except ValueError as exp:

我如何仅允许在满足参数的情况下创建对象?我尝试使用错误处理,但是不管输入的值是多少,仍然会创建对象

class Age(object):
def __init__(self, age):
    try:
        if age > 5:
            self.testAge = age
        else:
            raise ValueError('Number is too low')
    except ValueError as exp:
        print(f"Error: {exp}")

def __str__(self):
    return f"Testing"

test = Age(3)
print(test)

在本例中,我只希望在年龄大于5岁时创建对象。我使用3作为测试,错误已被处理,但对象仍被创建。

当您引发异常时,您将再次
排除它

您可以删除try/except或重新引发异常

试试看:
函数(可)提出()
例外情况除外,例如:
打印(“出了问题”)
提升ex#重新提升异常

因为您在
中捕获了错误,ValueError除外,因为exp:
。删除try/except块以将错误传播出构造函数。