以下可能吗?
try
(* danger zone *)
with Not_found e ->
(* code to handle not found *)
with t ->
(* code to handle all other issues *)
如果我在顶层输入,我会在第二个with
上出现语法错误。也许有一些我不知道的语法?
首选方法是预先添加另一个try
以匹配每个with
?
答案 0 :(得分:13)
with
部分是一系列模式,因此您可以按如下方式编写:
try
(* dangerous code area *)
with
| Not_found -> (* Not found handling code *)
| t -> (* Handle other issues here *)
答案 1 :(得分:5)
with
是match
表达式;您不要为多个模式重复此操作,而是使用|
分隔每个模式 ->
表达式,就像match
一样