[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: error() in 5.1
- From: PA <petite.abeille@...>
- Date: Wed, 29 Mar 2006 21:06:19 +0200
On Mar 29, 2006, at 20:12, Roberto Ierusalimschy wrote:
The main change is that lua.c checks the error object
and, if it is nil, it does not show anything. (See 'report' in
lua.c.)
Hmmm... this is a bit disconcerting. What's the rational behind this
behavior? After all, an error is an error, message or not.
The rationale is to allow errors without messages :) An error is an
error,
and a message is a message. If the error does not have a message, it
probably does not want one.
Or perhaps I mistyped the variable name representing the message. Or I
just would like to throw an exception and see the stack trace as I
usually do. Or...
I thought that error() always added the error position:
"With level 1 (the default), the error position is where the error
function was called"
http://www.lua.org/manual/5.1/manual.html#pdf-error
Isn't error() the equivalent of error( nil, 1 )?
Isn't the purpose of the 'level 0' parameter to "avoids the addition of
error position information to the message"?
Wouldn't a 'silent' error look like this:
error( nil, 0 )
Very confusing :/
Cheers
--
PA, Onnay Equitursay
http://alt.textdrive.com/