]> matita.cs.unibo.it Git - helm.git/commitdiff
catch only PXP exceptions in xml_document to avoid thread breakage
authorStefano Zacchiroli <zack@upsilon.cc>
Wed, 16 Apr 2003 09:23:06 +0000 (09:23 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Wed, 16 Apr 2003 09:23:06 +0000 (09:23 +0000)
helm/ocaml/getter/configuration.ml

index d5fd0e40f5c29647bdf83a97a42eb61eca706d78..1eb4ab65e6f55adcf014e50e2e5e7519a265521e 100644 (file)
@@ -34,14 +34,22 @@ class warner =
 ;;
 
 let xml_document () =
+ let error e =
+  prerr_endline ("Warning: configuration file not found, or incorrect: " ^
+   Pxp_types.string_of_exn e) ;
+  None
+ in
  let module Y = Pxp_yacc in
   try 
    let config = {Y.default_config with Y.warner = new warner} in
     Some (Y.parse_document_entity config (Y.from_file filename) Y.default_spec)
   with
-   e ->
-     prerr_endline ("Warning: configuration file not found, or incorrect: " ^ Pxp_types.string_of_exn e) ;
-     None
+   | (Pxp_types.Error _) as e -> error e
+   | (Pxp_types.At _) as e -> error e
+   | (Pxp_types.Validation_error _) as e -> error e
+   | (Pxp_types.WF_error _) as e -> error e
+   | (Pxp_types.Namespace_error _) as e -> error e
+   | (Pxp_types.Character_not_supported) as e -> error e
 ;;
 
 exception Impossible;;