Programmation fonctionnelle
Notes de cours
Cours 5
31 Octobre 2012
Sylvain Conchon
1/21
Le programme de cette semaine
Le mode T9 des t´el´ephones portables
2/21
Les notions abord´ees avec ce programme
IExceptions
IDictionnaires
IArbres de pr´efixes
3/21
Les exceptions
# 1 / 0 ;;
Exception: Division by zero.
# let x = [| 1 |];;
val x : int array = [| 1 |] ;;
# x.(1);;
Exception: Invalid argument "index out of bounds".
# int of string "bonjour" ;;
Exception: Failure "int of string".
ILe m´ecanisme d’exception permet de g´erer le probl`eme des
fonctions partielles : une exception est lev´ee si aucune valeur
ne peut ˆetre renvoy´ee par la fonction.
ISi l’exception n’est pas rattrap´ee (voir ci-apr`es), le programme
se termine.
4/21
Les exceptions : d´eclaration et typage
#exception Fin ;;
exception Fin
#raise Fin; print int 10 ;;
Exception: Fin.
# exception E of int ;;
exception E of int
# let f x = if x = 0 then raise (E(x)) else 10 / x ;;
valf:int -> int = <fun>
# f 0 ;;
Exception: E(0)
IUne exception est d´efinie `a l’aide du mot-cl´e exception.
IComme pour les constructeurs, elle commence par une
majuscule et elle peut attendre des arguments.
IOn l`eve une exception `a l’aide de la fonction raise.
ICe m´ecanisme est transparent au typage.
5/21
1 / 21 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !