偶尔我会遇到一些情况,我写了一些代码,并根据其逻辑,确定了一条路径是不可能的。例如:处理“不可能”代码路径的优雅方式
activeGames = [10, 20, 30]
limit = 4
def getBestActiveGameStat():
if not activeGames: return None
return max(activeGames)
def bah():
if limit == 0: return "Limit is 0"
if len(activeGames) >= limit:
somestat = getBestActiveGameStat()
if somestat is None:
print "The universe has exploded"
#etc...
宇宙爆炸线会发生什么?如果limit为0,则函数返回。如果len(activeGames) >= limit
,那么至少必须有一个活动游戏,所以getBestActiveGameStat()
不能返回无。那么,我应该检查它吗?
def hmph():
while condition:
if foo: return "yep"
doStuffToMakeFooTrue()
raise SingularityFlippedMyBitsError()
既然“知道”这是不可能的,如果有什么甚至有:
同样也有类似while循环总是返回循环会发生什么?
+1'SingularityFlippedMyBitsError'。还有一条评论,我经常看到一些程序,比如说“错误:用户不应该看到这个对话框”。确保你的不可能的情况是不可能的! – Seth 2010-09-30 23:09:00