# exit()

sys.exit(\[*arg*])

Викликати виняток [`SystemExit`](https://docs.python.org/uk/3/library/exceptions.html#SystemExit), сигналізуючи про намір вийти з інтерпретатора.

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

Оскільки [`exit()`](https://docs.python.org/uk/3/library/constants.html#exit) зрештою «тільки» викликає виняток, він вийде з процесу лише під час виклику з основного потоку, і виняток не перехоплюється. Дії очищення, визначені пунктами finally операторів [`try`](https://docs.python.org/uk/3/reference/compound_stmts.html#try), виконуються, і можна перехопити спробу виходу на зовнішньому рівні.

Змінено в версії 3.6: Якщо під час очищення виникає помилка після того, як інтерпретатор Python переловив [`SystemExit`](https://docs.python.org/uk/3/library/exceptions.html#SystemExit) (наприклад, помилка очищення буферизованих даних у стандартних потоках), статус виходу змінюється на 120.

Див. також

{% content-ref url="../../exit-quit" %}
[exit-quit](https://olexsyn.gitbook.io/enote/progr/python/exit-quit)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://olexsyn.gitbook.io/enote/progr/python/modules/sys/exit.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
