def main():
try:
print "hardfart"
return 0
except:
return 1
if __name__ == '__main__':
exit(main())
Может ли один добрый программист сказать мне, почему это выдает следующую ошибку при выходе?
Traceback (most recent call last):
File "C:/Apps/exp_exit.py", line 9, in ,module.
exit(main())
File "C:\Apps\python2.7.2\lib\site.py", line 372 in __call__
raise SystemExit(code)
SystemExit: 0
Это вызывает ошибку при выходе в проекте, который настроен аналогично. Для этого проекта, после использования gui2exe для компиляции exe, при закрытии программы я получаю следующую ошибку:
Traceback (most recent call last):
File "checkHDBox.py", line 303, in <module>
NameError: name 'exit' is not defined
Итак, если exit генерирует эту ошибку, как мне выйти тогда? И если я создаю обработчик исключений для выхода, не заменит ли это действие по умолчанию, которое python выполняет, функцией выхода?
Спасибо.
Edit:
Я думаю, что это отвечает на мой собственный вопрос.
Трассировка здесь от IDLE, я думаю, что это поведение по умолчанию из других источников, которые я прочитал.
Traceback (most recent call last):
File "C:/Apps/exp_exit.py", line 9, in ,module.
exit(main())
File "C:\Apps\python2.7.2\lib\site.py", line 372 in __call__
raise SystemExit(code)
SystemExit: 0
Трассировка здесь была исправлена с помощью sys.exit () вместо exit (0)
Traceback (most recent call last):
File "checkHDBox.py", line 303, in <module>
NameError: name 'exit' is not defined