【发布时间】:2013-06-23 05:34:15
【问题描述】:
如何正确地拒绝在 Python 构造函数中创建对象?考虑一个对象:
class Triangle:
def __init__(self, a, b, c):
sides = [a, b, c]
sides.sort()
if sides[0]+sides[1] < sides[2]:
return None
self._a = a
self._b = b
self._c = c
如果三角形的边不符合逻辑,我想拒绝创建三角形对象。返回 None 不会阻止创建 Triangle 对象,返回 False 会引发异常。处理这个问题的正确方法是什么?当给定错误的参数时,我应该抛出某种类型的异常吗?
【问题讨论】:
标签: python oop constructor