BrokenPipeError

BrokenPipeError is a built-in exception that happens when a process tries to write to a pipe after the other end has been closed.

This exception is a subclass of ConnectionError, which itself is a subclass of OSError. It usually arises in interprocess communication when a pipe or socket connection is involved.

You’ll want to be aware of this exception when you’re working with pipes or sockets, especially if your script streams data between processes.

BrokenPipeError Occurs When

  • Writing to a pipe or socket after the reading end has been closed
  • Building network applications where clients may disconnect unexpectedly

BrokenPipeError Can Be Used When

Streaming data between processes and handling interruptions in the communication channel.

BrokenPipeError Examples

An example of when this exception appears:

Python
>>> import os
>>> read, write = os.pipe()
>>> os.close(read)
>>> os.write(write, b"Hello, world!")
Traceback (most recent call last):
    ...
BrokenPipeError: [Errno 32] Broken pipe

In this example, the reading end of the pipe (read) is closed before trying to write to the writing end (write). This results in a BrokenPipeError.

An example of how to handle the exception:

Python
>>> import os
>>> read, write = os.pipe()
>>> try:
...     os.close(read)  # Simulate the reader closing the pipe
...     os.write(write, b"Hello, world!")
... except BrokenPipeError:
...     print("The pipe's been closed. Can't write data.")
...
The pipe's been closed. Can't write data.

In this snippet, you’re handling the BrokenPipeError and print a message so the program can keep running.

Finally, you typically don’t raise BrokenPipeError manually, because it indicates an operational error in the underlying system. Instead, you handle it whenever it occurs, like when you’re writing to a closed pipe.

Tutorial

Python's Built-in Functions: A Complete Exploration

In this tutorial, you'll learn the basics of working with Python's numerous built-in functions. You'll explore how to use these predefined functions to perform common tasks and operations, such as mathematical calculations, data type conversions, and string manipulations.

basics python

For additional information on related topics, take a look at the following resources:


By Leodanis Pozo Ramos • Updated March 17, 2025 • Reviewed by Martin Breuss