Исключение, поднимаемое sys.exit(), для остановки работы интерпретатора.

Исключение поднимается функцией sys.exit(). Это делается для того, чтобы подчищающие обработчики, располагающиеся в блоках finally инструкций try имели возможность выполниться, а отладчики могли запускать скрипты без риска потерять управление над ними.

Если исключение не обрабатывается, приложение останавливается, при этом трассировка стека не выводится.

    from sys import exit


try:
exit(33)
except SystemExit as e:
print('Exit code: %s' % e.code) # Exit code: 33
raise # SystemExit: 33

Инициализатор принимает те же аргументы, что и sys.exit(), то есть в него можно передать код выхода, который позже будет доступен в атрибуте code:
если передано целое, то оно считается статусом выхода (передаётся в функцию Си exit());
если None, статус выхода считается равным 0;
в ином случае (например, при передаче строки), это значение будет отправлено на вывод, а кодом статуса будет 1.

Начиная с +py2.5 наследуется от BaseException, чтобы избежать отлова кодом, обрабатывающего Exception, что может мешать остановке интерпретатора.

На заметку
Если безоговорочно требуется выйти немедленно (например, в дочернем процессе после вызова os.fork()), можно использовать os._exit().
Синонимы поиска: SystemExit, выход
В этом разделе: SystemExit.code
На заметку
Читайте нас в Twitter. Ссылка в самом низу страницы.