English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
[Caml-list] Silently discarded exceptions?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-08-19 (19:15)
From: Oliver Bandel <oliver@f...>
Subject: Re: [Caml-list] Silently discarded exceptions?
Hello Xavier,

thanks for your answer.

On Mon, 19 Aug 2002, Xavier Leroy wrote:

> > I have a test on the first char of a string (Position 0).
> > If the string is "" then normally (in the toplevel) an
> > exception is thrown.
> > 
> > When compiling with ocamlc, the program does not
> > mention that there was an Exception: it silently
> > stops the execution of my test.
> Chances are that your program contains a "try ... with x -> ..."
> or "try ... with _ -> ..." that catches the exception arising from the
> invalid string access.

Well, I have now tested the problem again. For this test I
grabbed the code of question out of the ml-file and tested
it again with ocamlc.

The executable has told me the Exception, then.

So, I browsed over my code in the ml-file and found, where
the difference is: In the function with the String.get-
function I did not used   try ... with ... 
but in a function, that calls this function!
(Propagation of exceptions to higher levels of the program...)

I think this could be a possible problem in development
with Ocaml, and maybe it's better to explicitly catch
the exceptions.

I have to look into my code again and check, if
I can use the _ or better do not use it. Maybe
it's better, when I write explicitly matches.

Do you have a hint, how to handle such things in a
clean way, which is useful?

Is it possible to catch exceptions from specific Modules,
and match the exception by the _ ?

For example: If there is an
Invalid_argument "String.get"
can I match on all "String."-exceptions,
like "String._" or so?


To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners