如何在python中抛出错误并退出

时间:2014-03-25 11:43:04

标签: python

我见过人们在Python中建议使用sys.exit()。 我的问题是,有没有其他方法可以退出当前脚本的执行,我的意思是终止,但有错误。

这样的事情:

sys.exit("You can not have three process at the same time.");

目前我的解决方案是:

print("You can not have three process at the same time.");
sys.exit();

4 个答案:

答案 0 :(得分:37)

使用字符串调用sys.exit将起作用。 docs明确提到了这一用法:

  

特别是,sys.exit("一些错误消息")是发生错误时退出程序的快捷方法。

答案 1 :(得分:0)

我知道这是一个旧线程,但是您也可以引发如下错误:

proc = 3
if proc == 3:
    raise SystemExit('Error: 3 processes cannot run simultaneously.')

此方法的一个优点是您不必导入Python sys模块。可以在具有Python 3和Python 2的Linux上使用。我尚未在Windows或Mac OS上对其进行过测试。

答案 2 :(得分:0)

首先有3种方法,因为提到的lvc是使用sys.exit

sys.exit('My error message')

第二种方式是使用print,打印几乎可以写任何东西,包括错误消息

print >>sys.stderr, "fatal error"     # Python 2.x
print("fatal error", file=sys.stderr) # Python 3.x

第三种方法是提出一个我不喜欢的例外,因为它可能是try-catch

  raise SystemExit('error in code want to exit')

但问题可以忽略

try:
  raise SystemExit('error in code want to exit')
except:
  print("program is still open")

答案 3 :(得分:0)

您必须先使用import sys

然后使用sys.exit("your custom error message")