(* Multiplication des éléments d'une liste d'entiers, en s'arrêtant dès qu'on trouve un 0. *) (* On lève l'exception Exit dès qu'on rencontre la valeur 0 *) let rec mult = function | [] -> 1 | 0 :: _ -> raise Exit | x :: l -> x * mult l let mult l = try mult l with Exit -> 0 (* Voir aussi l'exercice 2.18 pour une amélioration orthogonale. *)