MOO-cows Mailing List Archive
[Prev][Next][Index][Thread]
RE: Possible bug
-
Date: Wed, 27 Mar 1996 05:22:36 PST
-
From: Ron Stanions <chaeon@roc.clawpaw.com>
-
Content-Transfer-Encoding: 7bit
-
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:
raise(args[1]);
(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:brian@wasteland.calbbs.com]
Sent: Wednesday, March 27, 1996 1:52 AM
To: moo-cows.PARC@xerox.com
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 sysop@calbbs.com brian@wasteland.calbbs.com
-= ArchWizard of Digital Wasteland MOO (wasteland.calbbs.com 8888) =-
Follow-Ups:
Home |
Subject Index |
Thread Index