Better error messages when parsing the init file (RHBZ#836231).
authorRichard W.M. Jones <rjones@redhat.com>
Fri, 28 Sep 2012 15:37:17 +0000 (16:37 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Fri, 28 Sep 2012 15:37:17 +0000 (16:37 +0100)
virt-top/virt_top.ml

index b304766..7e4677c 100644 (file)
@@ -226,6 +226,24 @@ OPTIONS" in
   (* Read the init file. *)
   let try_to_read_init_file filename =
     let config = read_config_file filename in
+    (* Replacement functions that raise better errors when
+     * parsing the init file.
+     *)
+    let int_of_string s =
+      try int_of_string s
+      with Invalid_argument _ ->
+        failwithf (f_"%s: could not parse '%s' in init file: expecting an integer")
+          filename s in
+    let float_of_string s =
+      try float_of_string s
+      with Invalid_argument _ ->
+        failwithf (f_"%s: could not parse '%s' in init file: expecting a number")
+          filename s in
+    let bool_of_string s =
+      try bool_of_string s
+      with Invalid_argument _ ->
+        failwithf (f_"%s: could not parse '%s' in init file: expecting %s")
+          filename s "true|false" in
     List.iter (
       function
       | _, "display", mode -> display_mode := display_of_cli mode