作为 Ocaml 的初学者,我有这个当前的工作代码:
...
let ch_in = open_in input_file in
try
proc_lines ch_in
with End_of_file -> close_in ch_in;;
现在我想为不存在的输入文件添加错误处理,我写了这个:
let ch_in = try Some (open_in input_file) with _ -> None in
match ch_in with
| Some x -> try proc_lines x with End_of_file -> close_in x
| None -> () ;;
并得到一条错误消息:此模式匹配 'a 选项类型的值,但这里用于匹配最后一行的 exn 类型的值。如果我用None代替_,我会收到关于不完整匹配的错误。
我读到exn是异常类型。我确定我不明白这里到底发生了什么,所以请指出正确的方向。谢谢!