Python: Continuar en bucle después de la excepción

Tengo el siguiente script (abajo). que devolverá el código de estado de las URL. Recorre un archivo y trata de conectarse a cada host. El único problema es que, obviamente, se detiene en bucle cuando alcanza una excepción.

He intentado numerosas cosas para poner el cómo en un bucle, pero en vano. ¿Alguna idea?

import urllib
import sys
import time

hostsFile = "webHosts.txt"


try:
    f = file(hostsFile)
    while True:
        line = f.readline().strip()
        epoch = time.time()
        epoch = str(epoch)
        if len(line) == 0:
            break
        conn = urllib.urlopen(line)
        print epoch + ": Connection successful, status code for " + line + " is " + str(conn.code) + "\n"
except IOError:
    epoch = time.time()
    epoch = str(epoch)
    print epoch + ": Connection unsuccessful, unable to connect to server, potential routing issues\n"
    sys.exit()
else:
    f.close()

EDITAR:

Se me ha ocurrido esto mientras tanto, ¿algún problema con esto? (Todavía estoy aprendiendo: p) ...

f = file(hostsFile)
while True:
    line = f.readline().strip()
    epoch = time.time()
    epoch = str(epoch)
    if len(line) == 0:
        break
    try:
        conn = urllib.urlopen(line)
        print epoch + ": Connection successful, status code for " + line + " is " + str(conn.code) + "\n"
    except IOError:
        print epoch + "connection unsuccessful"

Gracias,

MHibbin

Respuestas a la pregunta(3)

Su respuesta a la pregunta