From: Stefano Zacchiroli Date: Wed, 6 Jul 2005 12:08:39 +0000 (+0000) Subject: better exception handling for HTTP errors X-Git-Tag: V_0_7_1~68 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=68233b146502151bd84dc04e2ae3d49df6a7cd56;p=helm.git better exception handling for HTTP errors --- 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 =