当前位置: 首页 > 面试题库 >

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

冯鸿哲
2023-03-14
问题内容

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(),任何建议……!

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

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

提前致谢..


问题答案:

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


 类似资料:
  • 我试图让一些sql关键字作为标识符被接受,当用作标识符时。Antlr的书p210提出了这个技巧: 我也有类似的东西,但它不起作用,我想这是我的误解。是标识符的解析规则,因此: 是ident的主要lex规则。大致是这样的(这里简化了),它起作用了: 如果我给它作为输入('aaa'不是关键字),它将解析: 但是如果我给它,它就会失败--'sparse'是一个关键字: 也许我很笨,但我不明白为什么,因为

  • 我正在尝试导入一个新的字体来实现它到我的p元素的css中。但是我导入的字体由于某种原因无法显示。这是我的代码: null null 你知道是什么导致了这个问题吗?

  • 我有一个PowerShell脚本,它从文件中获取文件名列表,在文件夹中搜索文件名,将其存档,然后执行其他操作。 try-catch没有像预期的那样工作。文件列表中有一个文件名不在$some_path中。我期望try-catch停止执行并执行写主机。相反,它不运行写主机,而是继续执行< code > $ data = Get-Content $ current _ file 步骤,这将抛出一个终止错

  • 我在< code >冰咖啡脚本中使用了< code>try catch块。我调用了不存在的对象< code>a的不存在的方法< code>fake,并期望捕获错误。 但是在调用函数 a.fake()后,在控制台中抛出错误,但它没有按预期使用块。 如果我注释掉字符串<code>并等待数据库。查找“79”,将其延迟到c,d。。。 ...它按预期工作,错误被捕获。 我试图通过其他简单的异步函数调用来改变