MOO-cows Mailing List Archive
RE: Possible bug
Date: Wed, 27 Mar 1996 05:22:36 PST
From: Ron Stanions <firstname.lastname@example.org>
Content-Type: text/plain; charset="us-ascii"
I haven't looked in the source but I would guess this is because raise() acts
like return in the sense that all it does is return an error datatype, and isn't
a direct error, with or without the debug flag raised. It doesn't actually
pass through the normal error handling operations. In the same vein, you'll
note that `E_PERM ! E_PERM => E_INVARG' returns E_PERM too.
If however, this is the behaviour you want, then create #0:bf_raise rxd and
add this one line:
(and of course create/set $server_options.protect_raise to 1)
and then `raise(E_PERM) ! E_PERM => E_INVARG' will return E_INVARG
and any other kind of error atom will cause a traceback of that type.
From: Brian Buchanan[SMTP:email@example.com]
Sent: Wednesday, March 27, 1996 1:52 AM
Subject: Possible bug
eval-d `raise(E_PERM) ! E_PERM => E_INVARG'
=> E_PERM (Permission denied)
Shouldn't this return E_INVARG, even if the debug bit is unset? Otherwise it
kinda defeats the purpose of the `' notation if used in !d verbs.
Server version 1.8.0p2, standard LambdaCore eval-d.
Brian Buchanan firstname.lastname@example.org email@example.com
-= ArchWizard of Digital Wasteland MOO (wasteland.calbbs.com 8888) =-
Subject Index |