X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fgetter%2Fhttp_getter_wget.ml;h=a6118c82c1cebf295b0e53f4405bbea55f7c4109;hb=97c2d258a5c524eb5c4b85208899d80751a2c82f;hp=3171e664feac4bd373dc8b1e415b3b6373216329;hpb=a3fb06e72407e3590fa60a74ac5fec01e6bfe1f9;p=helm.git diff --git a/helm/ocaml/getter/http_getter_wget.ml b/helm/ocaml/getter/http_getter_wget.ml index 3171e664f..a6118c82c 100644 --- a/helm/ocaml/getter/http_getter_wget.ml +++ b/helm/ocaml/getter/http_getter_wget.ml @@ -28,16 +28,21 @@ open Http_getter_types let send cmd = try ignore (Http_user_agent.get cmd) - with e -> raise (Http_client_error (cmd, Printexc.to_string e)) + with exn -> raise (Http_client_error (cmd, Printexc.to_string exn)) let get url = try Http_user_agent.get url - with e -> raise (Http_client_error (Printexc.to_string e, url)) + with exn -> raise (Http_client_error (Printexc.to_string exn, url)) let get_and_save url dest_filename = let out_channel = open_out dest_filename in - Http_user_agent.get_iter (output_string out_channel) url; + (try + Http_user_agent.get_iter (output_string out_channel) url; + with exn -> + close_out out_channel; + Sys.remove dest_filename; + raise (Http_client_error (Printexc.to_string exn, url))); close_out out_channel let get_and_save_to_tmp url =