Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在sys.exit文档中拦截Python调用意味着什么?_Python_Python 3.x_Exit_Sys - Fatal编程技术网

在sys.exit文档中拦截Python调用意味着什么?

在sys.exit文档中拦截Python调用意味着什么?,python,python-3.x,exit,sys,Python,Python 3.x,Exit,Sys,在Python中,据说可以在外部级别拦截exit调用。那么“外部拦截”在这里究竟意味着什么呢? 更具体地说,拦截调用是什么意思?这意味着除SystemExit之外的将捕获引发的异常,从而在退出Python时拦截尝试的调用sys.exit通过提升来实现,您可以处理提升 使用适当的除外条款: from sys import exit try: exit("Exiting") except SystemExit as e: print("Well, no you're not.")

在Python中,据说可以在外部级别拦截exit调用。那么“外部拦截”在这里究竟意味着什么呢?
更具体地说,拦截调用是什么意思?

这意味着除SystemExit之外的
将捕获引发的异常,从而在退出Python时拦截尝试的调用
sys.exit
通过提升来实现,您可以处理提升

使用适当的
除外
条款:

from sys import exit
try:
    exit("Exiting")
except SystemExit as e:
    print("Well, no you're not.")
工作正常,继续执行。你截获了


正如@chepner所指出的,呼叫没有被拦截;对退出的调用已完成。由此产生的异常被您提供的except处理程序截获。

微妙语义节点:文档指的是截获退出尝试,而不是对
exit
的调用。这是由
exit
引发的异常,您可以拦截/捕获。这意味着,如果未拦截,调用将通过,程序将退出,对吗?