python sys.exit在尝试中不起作用

发布于 2021-01-29 18:04:57

Python 2.7.5 (default, Feb 26 2014, 13:43:17)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import sys
>>> try:
… sys.exit()
… except:
… print “in except”

in except
>>> try:
… sys.exit(0)
… except:
… print “in except”

in except
>>> try:
… sys.exit(1)
… except:
… print “in except”

in except

为什么在尝试中无法触发sys.exit(),任何建议……!

此处发布的代码具有所有版本详细信息。

我已经尝试了所有可能触发它的方法,但是我失败了。它到达“除外”块。

提前致谢..

关注者
0
被浏览
159
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    sys.exit()引发一个异常,即SystemExit。这就是为什么您进入except-block的原因。

    请参阅以下示例:

    import sys
    
    try:
        sys.exit()
    except:
        print(sys.exc_info()[0])
    

    这给您:

    <type 'exceptions.SystemExit'>
    

    尽管我无法想象这样做有任何实际原因,但是您可以使用此构造:

    import sys
    
    try:
        sys.exit() # this always raises SystemExit
    except SystemExit:
        print("sys.exit() worked as expected")
    except:
        print("Something went horribly wrong") # some other exception got raised
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看