More work with -stay-in-error
This commit is contained in:
parent
cacc55c2bf
commit
e53e49bc96
|
@ -3673,7 +3673,7 @@ let go_withargv argv =
|
||||||
prerr_string
|
prerr_string
|
||||||
(implode (takewhile (neq '\n') (explode s)) ^ " Use -help for help.\n\n");
|
(implode (takewhile (neq '\n') (explode s)) ^ " Use -help for help.\n\n");
|
||||||
flush stderr;
|
flush stderr;
|
||||||
if not !stay_on_error then exit 2
|
if not !stay_on_error then exit 2 else raise StayOnError
|
||||||
| Arg.Help _ ->
|
| Arg.Help _ ->
|
||||||
Arg.usage (align_specs specs) usage_msg;
|
Arg.usage (align_specs specs) usage_msg;
|
||||||
flush stderr (*r for Windows *)
|
flush stderr (*r for Windows *)
|
||||||
|
@ -3681,21 +3681,25 @@ let go_withargv argv =
|
||||||
prerr_string (s ^ "\n\n");
|
prerr_string (s ^ "\n\n");
|
||||||
flush stderr;
|
flush stderr;
|
||||||
if not !stay_on_error then
|
if not !stay_on_error then
|
||||||
if args.debug then raise e else exit 2
|
(if args.debug then raise e else exit 2)
|
||||||
|
else raise StayOnError
|
||||||
| Pdf.PDFError s as e ->
|
| Pdf.PDFError s as e ->
|
||||||
prerr_string
|
prerr_string
|
||||||
("cpdf encountered an error. Technical details follow:\n\n" ^ s ^ "\n\n");
|
("cpdf encountered an error. Technical details follow:\n\n" ^ s ^ "\n\n");
|
||||||
flush stderr;
|
flush stderr;
|
||||||
if not !stay_on_error then
|
if not !stay_on_error then
|
||||||
if args.debug then raise e else exit 2
|
if args.debug then raise e else exit 2
|
||||||
| Cpdf.SoftError s -> try soft_error s with StayOnError -> ()
|
else
|
||||||
| Cpdf.HardError s -> try error s with StayOnError -> ()
|
raise StayOnError
|
||||||
|
| Cpdf.SoftError s -> soft_error s
|
||||||
|
| Cpdf.HardError s -> error s
|
||||||
| e ->
|
| e ->
|
||||||
prerr_string
|
prerr_string
|
||||||
("cpdf encountered an unexpected error. Technical Details follow:\n" ^
|
("cpdf encountered an unexpected error. Technical Details follow:\n" ^
|
||||||
Printexc.to_string e ^ "\n\n");
|
Printexc.to_string e ^ "\n\n");
|
||||||
flush stderr;
|
flush stderr;
|
||||||
if args.debug then raise e else exit 2
|
if not !stay_on_error then
|
||||||
|
(if args.debug then raise e else exit 2) else raise StayOnError
|
||||||
|
|
||||||
let go () =
|
let go () =
|
||||||
go_withargv Sys.argv
|
go_withargv Sys.argv
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
(** PDF Command Line Tools in library form. *)
|
(** PDF Command Line Tools in library form. *)
|
||||||
|
|
||||||
|
exception StayOnError
|
||||||
|
|
||||||
(** Call the command line tools with the contents of [Sys.argv] *)
|
(** Call the command line tools with the contents of [Sys.argv] *)
|
||||||
val go : unit -> unit
|
val go : unit -> unit
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue