# `expr ! err => whatever'

Gustavo Glusman (bmgustav@bioinformatics.weizmann.ac.il)
Sun, 27 Jul 1997 18:57:21 +0300

- Messages sorted by:[ date ][ thread ][ subject ][ author ]

    At 22:28 -0800 26/7/97, Richard Connamacher wrote:
    >Well, you know, you _can_ raise any value as an error, including 0. :)
    >
    >;`raise(0) ! E_DIV, E_INVARG, 0 => "I'm a happy camper"'
    >=> "I'm a happy camper"
    >[used 4 ticks, 0 seconds.]
    >
    >The server already does what Zephaniah proposed, though he may not have
    >realized what he proposed. :-)
    >
    >Phantom

    Not quite. What was suggested was that the error-catching expression
    'catch' any value *that is returned*, in addition to those that are raised.

    His example was: x = `#obj:verb() ! E_PERM, E_VERBNF, 0 => 1';
    I guess you could modify it to: x = `raise(#obj:verb()) ! E_PERM, E_VERBNF,
    0 => 1';
    This would accomplish *some* of what he wanted, but not exactly what he
    wanted (e.g. if now the verb returns a 1, he wanted it to be returned
    normally, but it would be raised and not catched). Moreover, returned and
    raised errors would be undistinguishable (as I said in my previous posting).

    Cheers,

         ____________________________________________________________
         Gustavo Glusman              Founder/administrator of BioMOO
         Gustavo@bioinfo.weizmann.ac.il    (public PGP key available)
         http://bioinfo.weizmann.ac.il/Gustavo
            Visit BioMOO, the biologists' virtual meeting place, at
         ___________ http://bioinfo.weizmann.ac.il/BioMOO ___________