Failure in Ocaml

Nel linguaggio Ocaml posso usare l'istruzione Failure come costruttore di eccezioni. Mi permette di sollevare un'eccezione senza doverla prima dichiarare.

Failure "stringa"

L'argomento è una stringa qualsiasi tra doppie virgolette.

La stringa può essere un codice o qualsiasi altro messaggio che aiuti a comprendere la natura dell'errore.

    Un esempio pratico

    Questa funzione calcola il fattoriale di un numero intero.

    let rec fattoriale = function
    0 -> 1
    | n -> if n<0 then raise (Failure "FattorialeNegativo")
    else n*fattoriale(n-1)

    La funzione solleva un'eccezione "FattorialeNegativo" tramite il costruttore Failure quando l'argomento è un numero negativo (n<0).

    fattoriale(-3);;
    Exception: Failure "FattorialeNegativo".

    In questo caso però l'eccezione "FattorialeNegativo" non è stata dichiarata precedentemente con l'istruzione Exception.

    E' il vantaggio dell'uso del costruttore Failure nella gestione delle eccezioni.

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Ocaml