Bueno, como ya viste esto no tiene nada que ver con las excepciones, no se produce ninguna. Si llamas a clear ANTES del ignore te va a funcionar bien tambien con letras, sino ya esta puesto el flag failbit en el stream (por la letra) y entonces ignore no hace nada.