例外を発生させる raise

OCaml には例外処理の仕組みがある。例外を発生させるには raise を使う。raise は例外の名前を引数にとる。

fact関数の引数が負の時に例外を発生する例:

# let rec fact n =
if n < 0 then raise (Invalid_argument "fact: negative argument")
else if n = 0 then 1
else n * fact (n - 1)
;;
val fact : int -> int = <fun>

例外は関数の型とは関係がないので,気にせずに使える。

# fact (-2);;
Exception: Invalid_argument "fact: negative argument".

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください