Manejo de un error de tiempo de espera en sockets de python

Estoy tratando de averiguar cómo usar el intento y excepto para manejar un tiempo de espera de socket.

from socket import *

def main():
    client_socket = socket(AF_INET,SOCK_DGRAM)
    client_socket.settimeout(1)
    server_host = 'localhost'
    server_port = 1234
    while(True):
        client_socket.sendto('Message',(server_host,server_port))
        try:
            reply, server_address_info = client_socket.recvfrom(1024)
            print reply
        except socket.Timeouterror:
            #more code

La forma en que agregué el módulo de socket fue importar todo, pero ¿cómo manejo las excepciones en los documentos que dice que puedes usar socket.timeouterror, pero eso no funciona para mí? Además, ¿cómo escribiría el bloque de excepción de prueba si lo hiciera?import socket? Alguien también puede explicar la diferencia en las importaciones.

Respuestas a la pregunta(4)

Su respuesta a la pregunta