[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ 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? TIA, Oliver ------------------- 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