![](/img/trans.png)
[英]Don't understand why this NameError: name 'null' is not defined exception occurs
[英]Why does the exception statement not executes when NameError occurs?
通过以下方式定义 function 和 try/except/else 语句后:
def divide(a, b):
try:
a / b
except:
return False, 'Error occurred'
else:
return True, 'Division successful'
当提供给 function 的参数是未定义变量的名称时,不会引发异常。 例如:
divide(2, J)
而不是在 except 语句下执行代码块,而是显示以下错误:
NameError: name 'J' is not defined
我曾尝试重写 except 语句( except NameError:
),但无济于事。
如果有人能解释为什么在这种情况下不执行 except 语句,我将不胜感激,如果出现 NameError,如何确保它的执行?
J
在您的情况下是一个变量,未定义。 甚至在 function 运行之前, J
被调用但不存在,因此您的错误:名称“J”未定义。 我假设您想使用将参数作为字符串传递的divide(2, "J")
来测试您的 function。 这应该会根据需要提高 except 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.