Excepcion(string mensaje,unsigned int Error) : Mensaje(Mensaje),N_Error(Error) {}; // Constructor
En esta linea deberías pasarle al constructor de Mensaje "mensaje" en minúscula. Quedando así:
Excepcion(string mensaje,unsigned int Error) : Mensaje(mensaje),N_Error(Error) {}; // Constructor
Además de eso, estás validando que lance la excepción? es decir, que no está abierto el archivo...