Перейти до вмісту
Винятки PythonПомилка
BrokenPipeError

BrokenPipeError

Зроблено спробу запису в канал або сокет, читальний кінець якого закрито.

python

Що спричиняє цю помилку

Ви записали дані у з'єднання/канал після закриття приймаючого кінця. Типові ситуації: запис у stdout при передачі потоку процесу, що завершився (наприклад, python script.py | head), або надсилання даних після відключення клієнта.

Як виправити

Коректно обробляйте BrokenPipeError, особливо для stdout. Щоб повернути типову поведінку каналу, використайте signal.signal(signal.SIGPIPE, signal.SIG_DFL). Перед записом перевіряйте, чи з'єднання ще відкрите. Беріть операції запису в try-except.

Офіційна документація

Пов'язані коди помилок