式exp評価中に発生する例外をキャッチし処理する構文であ
る.
matchでは,例外パターンとそのパターンにマッチした例外
の時評価される式の組を関数式と同様に以下の形で記述する.
pat => exp
|
| pat => exp
各パターンpatは例外構成子を含むパターンであり例外型
(exn)を持たねばならない.
また,各式expの型はexpの型と同一である必
要がある.
この式の評価は以下のように行われる.
-
•
式expを評価する.
評価が正常に終了すれば,その値がこの式全体の値となる.
-
•
式exp中に例外が発生すれば,その例外がパターン
patからpatとこの順に照合され,マッチするパター
ンpatがあれば,patの中の変数が対応する例外パ
ラメータに束縛され,その束縛が追加された環境で,式expを評
価し,その結果が式全体の結果となる.
-
•
マッチする例外パターンがなければ,この式で同一の例外が発生したもと
して,この式を囲む式の評価が続行される.