Есть ли разница между exit()
и raise ValueError("example")
, за исключением того факта, что у меня будет ошибка печати на моем выходе при использовании raise ValueError("example")
?Python 2.7: разница между exit() и повышением ValueError ("example")
4
A
ответ
6
Существует огромная разница.
sys.exit()
вызывает исключение SystemExit
, которое Python всегда ловит и превращается в код выхода программы.
Raising ValueError
, если неотображается, запускает обработчик sys.excepthook()
, после которого выходит Python. По умолчанию, кроме крюка печатает отслеживающее от исключения stderr
, после чего Python выходит с кодом выхода 1.
sys.excepthook()
функция никогда не вызывается для SystemExit
, так что вы не можете настроить обработку этого исключения, но вам может обрабатывать обработку ValueError
и другие исключения.
Смежные вопросы
- 1. разница между quit и exit в python
- 2. python logging: разница между 2.6 и 2.7
- 3. Разница между повышением и созданием объектов-потомков
- 4. В чем разница между exit и std :: exit в C++?
- 5. Разница между импортирующим модулем в Python 3.4 и Python 2.7
- 6. разница между «exec» и «exit» в bash
- 7. В чем разница между exit() и exit_group()
- 8. Multiple разница наследования между Python 2.7 и 3
- 9. В чем разница между print и print() в python 2.7
- 10. Python 2.7, ValueError при работе с HTMLParser
- 11. Пакеты Python 2.7 и импорт между каталогами
- 12. Разница между [] и [,,] в python
- 13. разница между python 2.7.3 и python 3.3
- 14. Разница между очередью и наборами Python
- 15. Системные вызовы: разница между sys_exit(), SYS_exit и exit()
- 16. В чем разница между abort() и exit() в узле?
- 17. В чем разница между Quit и Exit, после закрытия MATLAB?
- 18. Asserts in Python 2.7 не работает для меня example assertIn
- 19. Разница между scikit-learn и sklearn
- 20. python: разница между! = И <>?
- 21. Переключение между Python 2.7 и 2.6
- 22. Различия между «return 0» и «exit (0)»
- 23. Разница между картой, перечислением и лямбдой в python 3.4 и python 2.7?
- 24. Конфликт между повышением: type_erasure и повышение :: iterator_facade
- 25. разница диапазона в Python 2.7 и Python 3
- 26. Разница между '' и "" в Python
- 27. Разница между «=» и «+ =» на python?
- 28. Разница между «,» и «+» в python
- 29. Python: Разница между `is` и` == `?
- 30. Разница между Python и input_input?
'exit' выходит, а' raise' вызывает ошибку, что указывает на наличие ошибки и может быть пойман – njzk2
'sys.exit()' вызывает 'SystemExit', что завершает интерпретатор без следа, но принцип тот же, да. –