我正在尝试理解什么是更好的设计选择,当我们在一个类中执行大量功能时应该返回字符串或在特定检查失败时引发自定义异常。
示例:
假设我有一个类: -
#Division only for +ve numbers
class DivisionError(Exception):
pass
class Division(object):
def __init__(self, divisor, dividend):
self.divisor = divisor
self.dividend = dividend
def divide():
if self.divisor<0:
#return "-ve_divisor_error"
or
#raise DivisonError.divisorError
if self.dividend<0:
#return "-ve_dividend_error"
or
#raise DivisionError.dividendError
return self.dividend/self.divisor
答案 0 :(得分:1)
异常。几乎100%的时候python中的成语是抛出错误
答案 1 :(得分:1)
更多的pythonic方式是抛出异常。其中一个蟒蛇咒语是EAFP: Easier to ask for forgiveness than permission
。如果您浏览标准库,您会看到try
/ except
到处都是。