未找到 - OCaml中的例外情况

时间:2016-07-17 23:33:43

标签: exception mapping ocaml

我正在尝试检查我已做过的映射,看看是否有任何值与我发送的字匹配。\ n但是当没有找到实例时它应该返回零。相反,它会抛出Exception: Not_found.并退出。

有什么方法可以捕捉到这个错误吗?我认为Some和None应该做的伎俩。

let word_count word =
            match DictMap.find word word_mapping with
            | None -> 0
            | Some count -> count;;

1 个答案:

答案 0 :(得分:2)

我认为DictMap是应用the Map functor的结果。使用try - with(而不是option类型),因为find会引发异常,而不是在找不到密钥时返回None

let word_count word = try DictMap.find word word_mapping with Not_found -> 0;;