package devkit
Source file exn_lwt.ml
1 2 3 4 5 6 7 8 9 10 11 12(** Dealing with Lwt exceptions *) open Printf let catch f x = Lwt.try_bind (fun () -> f x) Lwt.return_some (fun _exn -> Lwt.return_none) let map f x = Lwt.try_bind (fun () -> f x) (fun r -> Lwt.return (`Ok r)) (fun exn -> Lwt.return (`Exn exn)) let fail = Exn.fail let invalid_arg fmt = ksprintf Stdlib.invalid_arg fmt