sys.exit是否等效于引发SystemExit? [英] Is sys.exit equivalent to raise SystemExit?

查看:139
本文介绍了sys.exit是否等效于引发SystemExit?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

根据 sys.exit上的文档 SystemExit ,似乎是

According to the documentation on sys.exit and SystemExit, it seems that

def sys.exit(return_value=None):  # or return_value=0
    raise SystemExit(return_value)

是正确的还是 sys.exit 之前还有其他事情吗?

is that correct or does sys.exit do something else before?

推荐答案

根据 Python / sysmodule.c ,只需执行 SystemExit 即可。

static PyObject *
sys_exit(PyObject *self, PyObject *args)
{
    PyObject *exit_code = 0;
    if (!PyArg_UnpackTuple(args, "exit", 0, 1, &exit_code))
        return NULL;
    /* Raise SystemExit so callers may catch it or clean up. */
    PyErr_SetObject(PyExc_SystemExit, exit_code);
    return NULL;
}

这篇关于sys.exit是否等效于引发SystemExit?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆