ic = Unix.open_process_in command in
Fun.protect
~finally:(fun () -> Stdlib.close_in_noerr ic)
(fun () -> In_channel.input_all ic)
;;
как понять какое исключение вызвал In_channel.input_all? например, он пишет мне /bin/sh: 1: xgit: not found, но я проверил, что ни Unix.Unix_error, ни Sys_error не подходят под это исключение...
Можно попробовать обернуть вызов в try … with, поймать exn и скормить в https://v2.ocaml.org/api/Printexc.html
Обсуждают сегодня