OCaml étend les possibilités du langage en permettant la programmation orientée objet et la programmation modulaire. Pour toutes ces raisons, OCaml entre dans la catégorie des langages multi-paradigme.
Les exceptions Attention en Ocaml le nom d'une exception doit commencer par une majuscule. Elles sont soulevées par la fonction raise et on les traitent avec la construction syntaxique trywith. Dans le bloc with on peut filtrer les différentes exceptions qui ont pu être soulevées.