Мне нужно остановить мою программу, когда в Python возникает исключение. Как это реализовать?
Как остановить программу, когда в Python возникает исключение?
Ответ 1
import sys
try:
print("stuff")
except:
sys.exit(0)
Ответ 2
Вы можете перестать ловить исключение, или - если вам нужно его поймать (чтобы выполнить какую-то специальную обработку), вы можете повторно поднять:
try:
doSomeEvilThing()
except Exception, e:
handleException(e)
raise
Обратите внимание, что ввод raise
без передачи объекта исключения приводит к сохранению исходной трассировки. Обычно это намного лучше, чем raise e
.
Конечно, вы также можете явно называть
import sys
sys.exit(exitCodeYouFindAppropriate)
Это вызывает повышение исключения SystemExit, и (если вы его не поймаете) завершает ваше приложение с указанным кодом выхода.
Ответ 3
Если вы не обрабатываете исключение, оно будет распространять стек вызовов до интерпретатора, после чего будет отображаться трассировка и выход. IOW: вам не нужно ничего делать, чтобы сделать ваш script выход, когда происходит исключение.
Ответ 4
Насколько я знаю, если исключение не попало на ваш script, оно будет прервано.
Ответ 5
import sys
try:
import feedparser
except:
print "Error: Cannot import feedparser.\n"
sys.exit(1)
Здесь мы выходим с кодом состояния 1. Обычно также полезно выводить сообщение об ошибке, записывать в журнал и очищать.