Now that we discussed the try/except keywords, let's make use of it to build a simple application that connects to the Internet. We will write a simple application that retrieves the current time from the Internet. We will be making use of the requests library for Python (http://requests.readthedocs.io/en/master/#).
The requests module enables connecting to the Web and retrieving information. In order to do so, we need to make use of the get() method from the requests module to make a request:
import requests
response = requests.get('http://nist.time.gov/actualtime.cgi')
In the preceding code snippet, we are passing a URL as an argument to the get() method. In this case, it is the URL that returns the current time in the Unix format (https://en.wikipedia.org/wiki/Unix_time).
Let's make use of the try/except keywords to make a request to get the current time:
#!/usr/bin/python3
import requests
if __name__ == "__main__":
# Source for link: http://stackoverflow.com/a/30635751/822170
try:
response = requests.get('http://nist.time.gov/actualtime.cgi')
print(response.text)
except requests.exceptions.ConnectionError as error:
print("Something went wrong. Try again")
In the preceding example (available for download along with this chapter as internet_access.py), the request is made under the try block, and the response (returned by response.text) is printed to the screen.
If there is an error while executing the request to retrieve the current time, ConnectionError is raised (http://requests.readthedocs.io/en/master/user/quickstart/#errors-and-exceptions). This error could either be caused by the lack of an Internet connection or an incorrect URL. This error is caught by the except block. Try running the example, and it should return the current time from time.gov:
<timestamp time="1474421525322329" delay="0"/>