我有一个可以返回以下三件事之一的函数:
True
False
None
我的问题是,如果我不应该针对Trueor进行测试False,我应该如何查看结果。以下是我目前的做法:
result = simulate(open("myfile")) if result == None: print "error parsing stream" elif result == True: # shouldn't do this print "result pass" else: print "result fail"
它真的像删除== True零件一样简单,还是我应该添加一个 tri-bool 数据类型。我不希望simulate函数抛出异常,因为我希望外部程序处理错误只是记录它并继续。
== True
simulate
不要害怕例外!让您的程序只记录并继续很简单:
try: result = simulate(open("myfile")) except SimulationException as sim_exc: print "error parsing stream", sim_exc else: if result: print "result pass" else: print "result fail" # execution continues from here, regardless of exception or not
现在,您可以从模拟方法获得更丰富的通知类型,以了解究竟出了什么问题,以防您发现错误/无错误信息不够丰富。