Capturando una excepción al usar una declaración 'con' Python

ara mi vergüenza, no puedo entender cómo manejar la excepción para la declaración 'con' python. Si tengo un código:

with open("a.txt") as f:
    print f.readlines()

Realmente quiero manejar 'archivo no encontrado excepción' para hacer algo. Pero no puedo escribir

with open("a.txt") as f:
    print f.readlines()
except:
    print 'oops'

y no puedo escribir

with open("a.txt") as f:
    print f.readlines()
else:
    print 'oops'

enclosing 'with' en una declaración try / except no funciona más: no se genera una excepción. ¿Qué puedo hacer para procesar la falla dentro de la declaración 'con' de una manera pitónica?

Respuestas a la pregunta(4)

Su respuesta a la pregunta