Ya me parecia que no era muy ortodoxo lo que estaba haciendo. La parte del rewrite (memoria) lo que pretendia era que arreglase la excepcion reescribiendo el archivo volviendolo a crear que era lo que nos habia pedido el profesor. El problema es que con objetos acabo de empezar y no se muy bien como utilizarlo y esto de las excepciones menos.
Entonces, si no es ahi donde tengo que poner el rewrite, ¿como deberia escribir el codigo utilizando la instruccion raise para que cuando detecte la excepcion de que no existe el fichero, use una clase que herede de exception y que se encargue de que no se termine la ejecucion del programa creando el fichero de nuevo?
P.D
erdon por el fallo del codigo, la verdad es que ando con prisas ultimamente y no me pare a leer nada