|
On 25/06/2011 20.35, marbux wrote:
On Sat, Jun 25, 2011 at 7:12 AM, Rebel Neurofog<rebelneurofog@gmail.com> wrote:assert () is the best in your case (more verbose)Thank you, Rebel, and the others who responded; assert works for my use case. BTW, I suggest that Reference Manual section 5.1 be amended to indicate that assert and error will cause termination of the script when their evaluations indicate an error condition.
This is not necessarily true. Citing from "error" entry in the manual:"Terminates the last protected function called and returns message as the error message."
If "error" is called inside a function called with pcall or xpcall, the script doesn't terminate.
As for the relevance of that sentence: a script is nothing more than a chunk (i.e. a function) loaded from a file, so if it is run in protected mode, it doesn't terminate.
For example (untested code): -- script1.lua local chunk = assert( loadfile "script2.lua" ) pcall( chunk ) print "chunk broken, but I'm still alive!" -- script2.lua error "I'm broken!!!" -----------------------------
That information is currently not included in their respective documentation sections. See<http://www.lua.org/manual/5.1/manual.html#pdf-assert> and <http://www.lua.org/manual/5.1/manual.html#pdf-error>. Best regards, Paul