Failwith in Ocaml
L'istruzione failwith del linguaggio Ocaml è un costruttore di eccezioni. Consente di sollevare un'eccezione senza doverla dichiarare.
failwith "stringa"
L'argomento è una stringa alfanumerica qualsiasi posta tra doppie virgolette.
Può essere un codice identificativo o qualsiasi altro messaggio che permetta di capire la causa dell'errore.
Nota. L'istruzione failwith produce gli stessi risultati dell'istruzione Failure.
Un esempio pratico
Questa funzione ricorsiva elabora il fattoriale di un numero intero (n).
let rec fattoriale = function
0 -> 1
| n -> if n<0 then raise (failwith "FattorialeNegativo")
else n*fattoriale(n-1)
Se l'argomento è un numero negativo (n<0) la funzione solleva un'eccezione "FattorialeNegativo" tramite failwith.
fattoriale(-3);;
Exception: Failure "FattorialeNegativo".
L'eccezione "FattorialeNegativo" è una semplice stringa, non è stata dichiarata precedentemente con l'istruzione Exception.
Il risultato finale è però lo stesso.
E così via.
