Python函数在出现异常时返回1
你能解释一下为什么这个函数在出现异常时会返回“1”吗?返回“1”的目的是什么呢?
def initialize():
"""
Starting point for the program.
"""
try:
go = Car()
print "Instance of Car created"
except KeyboardInterrupt:
return 1
2 个回答
0
我觉得没必要这样做,只有在 Car() 这个构造函数执行得太慢的情况下,你才会想在 initialize()
返回后再处理这个问题。
4
在C语言中,遇到错误时返回一个非零值是个很常见的写法。
我猜测,写这个函数的人可能习惯用C语言编程,对异常处理不太熟悉。虽然没有更多的代码样本很难确认,但如果我猜得没错的话,在调用这个函数的地方,应该有某种错误处理机制,以应对这个函数返回1或者其他非零值的情况。
如果真是这样,处理异常的更好方法是使用raise
把异常抛到上层去处理,或者直接在这个函数里处理异常。