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