终止python函数

时间:2017-11-22 21:17:14

标签: python

我的功能如下:

function foo(a,b,c):
    if a==1:
        do something
    elif a==2:
        do something
    else:
        exit abnormally #1

    return v1,v2,..

如果我想在代码中#1退出此功能,推荐的方法是什么?我想提出一些异常,打印错误信息,返回调用函数并停止程序。 sys.exit(0)将退出,但这是推荐的方式吗?

2 个答案:

答案 0 :(得分:0)

这取决于。 如果你想提出一个Expection,那么在方法中提高它。 如果你不处理它,程序将崩溃。这通常不是停止程序的好方法,当异常是可预测的时候不应该是这种情况。 如果你处理它(使用try / catch)那么你应该 a)做一些事情,以便程序可以继续 b)通知用户出现问题且无法处理并退出

通常如果出现问题时使用sys.exit(x),则x大于0

如果没有出错,返回是默认值,方法/功能完成

sys.exit(0)用于终止程序 例如如果你有一个特定的按钮(或组合键等),当按下时,应该停止应用程序

答案 1 :(得分:-1)

我相信sys.exit(0)将退出程序,而不是返回调用函数。正如让 - 弗朗索瓦所说,我相信你想提出例外。如果你想让调用函数处理那个异常(即你的程序没有结束),那么用try - except逻辑将对foo的调用包围起来。