[mercury-users] Exception handling documentation.
Julien Fischer
juliensf at csse.unimelb.edu.au
Thu Jul 17 15:43:02 AEST 2008
On Thu, 17 Jul 2008, Paul Bone wrote:
> On Thu, Jul 17, 2008 at 02:30:30PM +1000, Julien Fischer wrote:
>>
>> On Thu, 17 Jul 2008, Paul Bone wrote:
>>
>>>
>>> io.close_output throws an exception if bad stuff happens. I don't see
>>> any information in the language reference guide about exceptions, this
>>> is probably a bug.
>>
>> exceptions are a library feature so they are documented in the library
>> reference guide. (The reference manual of course documents the
>> determinism erroneous).
>
> Ah, Found it :-).
>
>>> Alot of the io package returns errors as part of their return value.
>>> Should this be consitant and always return a type that can be used to
>>> check for errors?
>>
>> It is fairly consistent isn't it. Those that throw an exception
>> put the error inside of the exception.
>
> Some throw exceptions and others return values. This is the bit that's
> not consitant.
>
> When I use try_io to try a closure and catch exceptions it requires that
> it's parent be cc_multi or multi, and that that predicate's parent is
> cc_multi or multi.
It requires that it is cc_multi, not multi.
I thought that the idea of cc_multi was that it
> behaved like det but semantically there could be more solutions that
> would _never_ be found.
No, semantically there are more solutions but we are *committing* to one.
In the case of try_io there are multiple possible I/O states.
Julien.
--------------------------------------------------------------------------
mercury-users mailing list
Post messages to: mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions: mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the users
mailing list