这是捕获和向被调用者抛出异常的正常方法
def check(a):
data = {}
if not a:
raise Exception("'a' was bad")
return data
def doSomething():
try:
data = check(None)
except Exception, e:
print e
这是另一种选择+我喜欢的一些东西:
- 'data' 总是存在的,'check' 函数可以为数据设置一些默认值,然后逻辑包含在函数中并且不必重复。也意味着当发生异常时,开发人员不能犯错误尝试访问数据。(数据可以在'doSomething'函数的最顶部定义+分配一些默认值)
你不必到处乱用 try/excepts 来弄乱“doSomething”函数
def check(a): errors = [] data = {} if not a: errors.append("'a' was bad") return data, errors def doSomething(): data, errors = check(None) if errors: print errors
有什么问题吗?人们的意见是什么?