Capturando uma exceção ao usar uma instrução Python 'with'

Para minha vergonha, não consigo descobrir como lidar com a exceção da instrução python 'with'. Se eu tiver um código:

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

Eu realmente quero lidar com 'arquivo não encontrado exceção' para fazer algo. Mas não sei escrever

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

e não pode escrever

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

enclosing 'with' em uma instrução try / except não funciona mais: a exceção não é gerada. O que posso fazer para processar a falha dentro da declaração 'with' de uma forma pitônica?

questionAnswers(4)

yourAnswerToTheQuestion