【发布时间】:2019-12-18 14:07:52
【问题描述】:
def funcname(var1, var2 = "1234"):
output = int(var2)
return output
有没有办法在var2不存在的情况下捕获错误,即函数定义了一个默认值(如上)并被调用:
result = funcname(var1, var2 = cs)
但是cs 不存在所以如果cs 变量不存在我希望var2 继承默认值而不是cs 未定义的错误。
【问题讨论】:
-
您无法在函数中捕获错误,因为错误(引用未定义变量)发生在函数调用之前。
-
如果
cs不存在就尝试使用它是一个需要修复的错误,而不是在运行时捕获的错误。 -
您只能将
funcname(var1, var2 = cs)放入try/except和except中运行此函数而不使用cs -
我宁愿在程序的开头设置
cs = None(所以它会一直存在)和function里面我会检查var2 isNone`并设置var2 = "1234"。 -
try: result = function(var1, cs) except NameError: result = function(var1)
标签: python function exception default