我想实现以下行为:
let x =
try
do_some_computation ()
with
| Some_error -> exit_my_program ()
in
...当然,我可以引发一个异常,如下所示:
let exit_my_program () = failwith "...."但是,我想要这样的东西:
let exit_my_program () =
Print.printf "some error message\n";
exit 1我遇到的问题是,exit 1的类型是'a Deferred.t,它不会进行类型检查。我想知道是否有一个类型为'a的出口函数可以在这个上下文中使用,或者更广泛地说,一个可以强制延迟的函数。
发布于 2017-07-26 00:19:16
函数Pervasives.exit的类型为int -> 'a。我不知道异步,所以我不知道使用这个功能是不是一个好的计划。很容易相信,如果你想让事情慢慢结束,这可能不是一个好计划。
https://stackoverflow.com/questions/45307184
复制相似问题