Python函数在出现异常时返回1

2 投票
2 回答
4009 浏览
提问于 2025-04-16 23:00

你能解释一下为什么这个函数在出现异常时会返回“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把异常抛到上层去处理,或者直接在这个函数里处理异常。

撰写回答