Как сгенерировать ошибку и выйти с пользовательским сообщением в python

Я видел людей, предлагающих sys.exit() в Python. Мой вопрос заключается в том, есть ли другой способ завершить выполнение текущего сценария, я имею в виду завершение, с ошибкой.

Примерно так:

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()

Ответ 1

Вызов sys.exit со строкой будет работать. docs упоминает об этом явно:

В частности, sys.exit( "некоторое сообщение об ошибке" ) - это быстрый способ выхода из программы при возникновении ошибки.

Ответ 2

Я знаю, что это старая ветка, но вы также можете вызвать такую ошибку:

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

Одним из преимуществ этого подхода является то, что вам не нужно импортировать модуль Python sys. Это работает на Linux с Python 3 и Python 2. Я не тестировал его на Windows или Mac OS.

Ответ 3

Есть 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")

Ответ 4

Вы должны использовать import sys первую очередь

Затем используйте sys.exit("your custom error message")