Browse thread
Re: [Caml-list] Static exception analysis or alternative to using exceptions
[
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: | -- (:) |
| From: | Hans Ole Rafaelsen <hrafaelsen@g...> |
| Subject: | Re: [Caml-list] Static exception analysis or alternative to using exceptions |
On Wed, May 26, 2010 at 7:30 PM, Dario Teixeira <darioteixeira@yahoo.com>wrote: > Hi, > > > What experience does people have to using alternatives to exceptions, > > such as option types or exception monads? Does use of third part > > libraries that still throws exceptions make such approaches hard to use? > > Performance wise it seems to be comparable to catching exceptions or > > matching for options, so I guess the difference be might a question of > > programming style? > > Partly yes, though I would say that in Ocaml it is tempting to use > exceptions beyond what is reasonable, because they are so cheap and > convenient. As you noted, this can lead to trouble at runtime, which > is why some libraries discourage the "exceptional style", preferring > option types and forcing users to invoke functions suffixed by "_exc" > if they really want to use the exception-based version. > > Personally, I think the litmus test hinges on whether the supposedly > exceptional situation is truly worthy of the name. If it's a common > occurrence, perhaps one should reconsider the use of an "exception". > Without meaning to start an holy war, let me just add that even on > the Stdlib there are functions (such as Map.S.find) that raise an > exception but which should perhaps return an option type. > > Btw, you didn't mention it explicitly in your message, but I trust you > are familiar with "Catch me if you can"? [1] > I have just read about it, not tested it yet. Do you have any experience using this library, especially together with other libraries that also provides syntax extension? > > Best regards, > Dario Teixeira > > [1] > http://dutherenverseauborddelatable.wordpress.com/downloads/exception-monads-for-ocaml/ > > > > > Thanks, Hans Ole