当有异常时,Python函数返回1

时间:2011-08-05 22:54:12

标签: python exception return

请问您能解释为什么当出现异常时,以下函数会返回“1”吗?返回“1”的目的是什么?

def initialize():
    """
    Starting point for the program.
    """
    try:
        go = Car()
        print "Instance of Car created"
    except KeyboardInterrupt:
        return 1

2 个答案:

答案 0 :(得分:4)

在C中,如果出现错误,返回非零值是一种相当常见的习惯用法。

我的预感是,创建此函数的人习惯于使用C编程并且不熟悉异常处理。没有更大的代码示例是不可能的,但是如果我是对的,那么在这个函数返回1或非零值的情况下调用此函数时可能存在某种错误处理。

如果是这种情况,使用异常的更合适的方法是使用raise向上传递异常以处理其他地方,或者在函数中处理异常。

答案 1 :(得分:0)

在我看来,没有必要这样做,只有当Car()构造函数花费太长时间并且你想在initialize()返回时处理它。