2 ms·
Is this really a worthwhile distinction? Using the first example from the Wikipedia article on duck typing, I have a choice between exploding when given invali
by anonymoushn 13y ago
Is this really a worthwhile distinction? Using the first example from the Wikipedia article on duck typing, I have a choice between exploding when given invalid values:
def calculate(a,b,c):
return (a+b)*c
or failing silently when given invalid values, which will often cause some other piece of code to explode, or at the worst cause some misbehavior that is difficult to detect:
def calculate(a,b,c):
try:
a=a+b
except:
pass
try:
a=a*c
except:
pass
return a
or
def calculate(a,b,c):
try:
return (a+b)*c
except:
return None
I would prefer to just not be in the situation of choosing what to do with invalid values in the first place.