Le 22/12/2011 22:39, oliver a écrit :
>>> where is there a documentation about these kind of errors from pcre-lib?
>>> I'm using Pcre.pmatch, which should just give me a bool.
>>
>> See pcre.mli. Pcre.Error(0) is the raw representation of Partial (i.e.
>> string only matched the pattern partially).
> [...]
>
> In my pcre.mli this error is not mentioned.
>
> There is a
>
>
> type error =
> | Partial (** String only matched the pattern partially *)
^^^^^^^
There.
> Which also mentioned a partial-match error.
> But Pcre.Error(0) looks somehow cryptical
> and strange to me.
Pcre.Error(0) is cryptical but not strange: it is the same as
Pcre.Error(Pcre.Partial). Whatever gives you the error message
mentioning Pcre.Error(0) does not have access to type information, so it
cannot give you more than Pcre.Error(0). You didn't tell where the error
message came from.
>> By the way, in doubt, you can catch Pcre.Error and pattern-match on its
>> argument.
>
> Yes, I think that makes sense.
> But Pcre.Error(0) is not very verbose, and I also want to know
> what I catch and why...
try Pcre.exec ...
with Pcre.Error e ->
match e with
| Partial -> ...
| _ -> ...
If you are using the generic exception pretty-printer (module Printexc),
you can register a pretty-printer for Pcre.Error with
Printexc.register_printer.
> Installing a newer pcre was easy, but then my build process complains
> about multiple stublibs-directories. So I threw it away.
> So maybe it's better to change the apt-get stuff instead.
The only way a new version of pcre could "fix" that would be if it
registered a pretty-printer as explained above. But this is not the
case, even in the last version (6.2.4).
Cheers,
--
Stéphane
--
Caml-list mailing list. Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs