Closes a channel. An exception is thrown by:

  • put! on a closed channel.
  • take! and fetch on an empty, closed channel.


  1. Close a file stream:

    julia> file = open("data.txt");
    julia> close(file)

    This example closes the file stream file after performing a flush operation.

  2. Close a network stream:

    julia> sock = connect("localhost", 8080);
    julia> close(sock)

    It closes the network stream sock after flushing any pending data.

  3. Close a stream and handle errors:
    julia> stream = open("output.txt", "w");
    julia> try
              # Perform some operations with the stream

    In this example, the close function is used in a finally block to ensure that the stream is closed even if an error occurs during the operations performed with the stream.

Common mistake example:

julia> close(5)
ERROR: MethodError: no method matching close(::Int64)

In this example, the close function is called with an argument that is not a valid stream. Make sure to pass a valid stream object to the close function to avoid this error.

See Also

Channel, close, put!, take!,

User Contributed Notes

Add a Note

The format of note supported is markdown, use triple backtick to start and end a code block.

*Required Field

Checking you are not a robot: