exit()

sys.exit([arg])

Викликати виняток SystemExit, сигналізуючи про намір вийти з інтерпретатора.

Необов’язковий аргумент arg може бути цілим числом, що дає статус виходу (за замовчуванням нуль), або іншим типом об’єкта. Якщо це ціле число, нуль вважається «успішним завершенням», а будь-яке ненульове значення вважається «ненормальним завершенням» оболонками тощо. Більшість систем вимагають, щоб він знаходився в діапазоні 0–127 (в Ubuntu 22.04 до 255), і в іншому випадку дають невизначені результати. У деяких системах є угода про призначення конкретних значень конкретним кодам виходу, але вони, як правило, недостатньо розроблені; Програми Unix зазвичай використовують 2 для синтаксичних помилок командного рядка та 1 для всіх інших видів помилок. Якщо передається інший тип об’єкта, None еквівалентно передачі нуля, а будь-який інший об’єкт друкується в stderr і призводить до коду виходу 1. Зокрема, sys.exit( "повідомлення про помилку") — це швидкий спосіб вийти з програми, коли виникає помилка.

Оскільки exit() зрештою «тільки» викликає виняток, він вийде з процесу лише під час виклику з основного потоку, і виняток не перехоплюється. Дії очищення, визначені пунктами finally операторів try, виконуються, і можна перехопити спробу виходу на зовнішньому рівні.

Змінено в версії 3.6: Якщо під час очищення виникає помилка після того, як інтерпретатор Python переловив SystemExit (наприклад, помилка очищення буферизованих даних у стандартних потоках), статус виходу змінюється на 120.

Див. також

Python exit commands: quit(), exit(), sys.exit() and os._exit()

Last updated