Handling socket errors gracefully
In any networking application, it is very common that one end is trying to connect, but the other party is not responding due to networking media failure or any other reason. The Python socket
library has an elegant method of handing these errors via the socket.error
exceptions. In this recipe, a few examples are presented.
How to do it...
Let us create a few try-except code blocks and put one potential error type in each block. In order to get a user input, the argparse
module can be used. This module is more powerful than simply parsing command-line arguments using sys.argv
. In the try-except blocks, put typical socket operations, for example, create a socket
object, connect to a server, send data, and wait for a reply.
The following recipe illustrates the concepts in a few lines of code.
Listing 1.7 shows socket_errors
as follows:
#!/usr/bin/env python # This program is optimized for Python 2.7.12 and Python 3.5.2. # It may run on any other version with...