Exception refactoring

Modifiée pour permettre un héritage plus facile.