Source: https://deptinfo.cnam.fr/Enseignement/CycleA/APA/nfa032/docs/corriges-exceptions-1.pdf