2008-01-24から1日間の記事一覧

例外を発生させる raise

OCaml には例外処理の仕組みがある。例外を発生させるには raise を使う。raise は例外の名前を引数にとる。 fact関数の引数が負の時に例外を発生する例: # let rec fact n = if n < 0 then raise (Invalid_argument "fact: negative argument") else if n =…

例外を処理する try

発生した例外を捕捉して処理するのが try。 # try fact (-2) with Invalid_argument _ -> 0;; - : int = 0 # try fact 3 with Invalid_argument _ -> 0;; - : int = 6match によるパターンマッチングに似ている。まず try と with に囲まれた部分を評価し,…